【发布时间】:2020-04-29 05:28:20
【问题描述】:
int n = 10;
char *s;
while (n > 0) {
s[strlen(s)] = n % 2 + 48;
n = n / 2;
}
printf("%s", s);
我尝试将一系列 0 和 1 转换为 string,但是我没有得到预期的输出,尽管这个逻辑是正确的。这里出了什么问题?
【问题讨论】:
-
你没有为你的字符串分配任何内存!尝试
char s[50] = "";而不是char *s;(将保留50 个字符)。 -
你的意思是 char s[50] = "" ;
-
使用
'0'而不是48——这样更清楚。