【发布时间】:2014-05-17 02:48:56
【问题描述】:
#include<stdio.h>
main()
char i=13;
while(i)
{
i++;
}
printf("%d",i);
}
输出结果为零。怎么会这样
#include<stdio.h>
main()
char i=48;
if(i)
{
printf("%d",i);
}
}
这个程序成功运行并打印 48。我不是认为它应该失败的字符 o 吗?我是如何作为字符或数字存储在内存中的
【问题讨论】:
-
首先正确缩进你的代码。
-
第一个循环环绕到
i = 0。将printf移动到循环中以查看发生的情况。在第二个printf中,i被%d转换为int。使用%c将其打印为字符。 -
如果您的代码缩进正确,那么缺少的
{会很明显。
标签: c loops while-loop char int