01/10/2018, 15:20
Lỗi 'L"String is not null terminated" &&0' khi debug là do đâu?
![](/pictures/picfullsizes/2018/10/04/rgb1538643107.png)
Code: Bài toán đổi cơ số, cơ số tối đa là 16.
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main()
{
char num[20], ch[20], G[20];
unsigned int i, fb, tb, len, sd, t[20], A = 0;
//Nhập dữ liệu
printf("Enter a number: ");
gets_s(num);
printf("Base from: ");
scanf_s("%u", &fb);
printf("Base to: ");
scanf_s("%u", &tb);
//Tách thành số thành phần
len = strlen(num);
for (i = 0; i < len; i++)
{
switch (num[i])
{
case 'A': t[i] = 10; break;
case 'B': t[i] = 11; break;
case 'C': t[i] = 12; break;
case 'D': t[i] = 13; break;
case 'E': t[i] = 14; break;
case 'F': t[i] = 15; break;
default:
ch[0] = num[i];
t[i] = atoi(ch);
}
}
//Tính num ở cơ số 10 (A)
for (i = 0; i < len; i++)
A = A + t[i] * pow(fb, len - (i + 1));
printf("
A = %u
", A);
//Chuyển A sang cơ số đích
while (A != 0)
{
sd = A % tb;
switch (sd)
{
case 10: sprintf_s(ch, "%c", 'A'); break;
case 11: sprintf_s(ch, "%c", 'B'); break;
case 12: sprintf_s(ch, "%c", 'C'); break;
case 13: sprintf_s(ch, "%c", 'D'); break;
case 14: sprintf_s(ch, "%c", 'E'); break;
case 15: sprintf_s(ch, "%c", 'F'); break;
default: sprintf_s(ch, "%u", sd);
}
strcat_s(G, ch);
A = A / tb;
}
_strrev(G);
printf("%s|%u = %s|%u
", num, fb, G, tb);
system("pause");
}
Bài liên quan