我正在嘗試編寫一個程序,它會打印出所有使用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補充想法。 –