【发布时间】:2015-12-08 15:47:09
【问题描述】:
我有以下代码:
char temp[1024];
bzero(temp, 1024);
for(i=0;i<4;i++){
temp[i] = '9';
}
int balance = atoi(temp);
当我打印 temp 时,它显示 9999。但是,余额没有分配。
如果我使用:
printf("%c", balance); // it prints nothing!
代码有什么问题?
【问题讨论】:
-
atoi(temp)返回 9999,此值分配给balance。那有什么问题?我不明白这个问题。 -
如果你可以让一个 int 变量什么都不是,你就发明了一些新东西。
-
你说的“余额没有分配”是什么意思?
-
我的意思是,如果我使用 printf("%c", balance);,它什么也不打印!好奇怪!
-
嗯,
balance是int,%c是字符格式,那么您期待什么?请改用printf("%i", balance);。