我正在尝试编写一个程序,它会打印出所有使用for循环的ASCII字符,但它会继续进行无限循环,除非我取出127,我做错了什么或者是如何使用ASCII表现?在C中打印ASCII
这将会崩溃(无限循环):
#include <stdio.h>
int main (void)
{
for (char i = -128; i <= 127; i++)
{
printf("%d = %c\n", i, i);
}
return 0;
}
但是,这是罚款:
#include <stdio.h>
int main (void)
{
for (char i = -128; i < 127; i++)
{
printf("%d = %c\n", i, i);
}
printf("%d = %c\n", 127, 127);
return 0;
}
'我<= 127'始终是真,如果'i'是一个有符号8位'char'类型。 –
从0开始循环而不是-127,没有负值ASCII char –
Twos补充想法。 –