[讨论]一个字符的小问题
int main (void)
{
char c[]="\61W\1";
int i;
printf ("%c\n", c[0]);
printf ("%c\n", '\127');
for (i = 0; c[i] != '\0'; i++)
printf ("%d ", c[i]);
return 0;
}
这个程序,怎么第一个printf输出的是1(按8进制?8进制的61转换成10进制后恰好是49--1的ASCII码)
第二个输出的是W(8进制的127转换成10进制后恰好是87--W的ASCII码)
但是在for循环里面,输出的是49 87 1,又刚好是按10进制转换.
我被搞懵了,到底是按8进制还是10进制转换哦?还是在特定情况下会不同?