<分区>
Possible Duplicate:
C output question…
为什么它的o/p是%%??
int main(void)
{
printf("%%%\n");
return 0;
}
而下面的程序 o/p 是 %?
int main(void)
{
printf("%%%");
return 0;
}
你能告诉我到底有什么区别吗??
标签 c
<分区>
Possible Duplicate:
C output question…
为什么它的o/p是%%??
int main(void)
{
printf("%%%\n");
return 0;
}
而下面的程序 o/p 是 %?
int main(void)
{
printf("%%%");
return 0;
}
你能告诉我到底有什么区别吗??
最佳答案
这是未定义的行为。 C99 的第 7.19.6.1/9 节指出:
If a conversion specification is invalid, the behavior is undefined.
并且前面的部分都不允许使用空格的转换说明符。它们仅限于集合 diouxXfFeEgGaAcsPn%
中的字符。
关于C输出题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5551810/