【发布时间】:2012-11-12 05:18:11
【问题描述】:
我无法理解以下 C 代码的输出:
#include<stdio.h>
main()
{
char * something = "something";
printf("%c", *something++); // s
printf("%c", *something); // o
printf("%c", *++something); // m
printf("%c", *something++); // m
}
请帮忙:)
【问题讨论】:
-
为什么不包括输出呢?
-
在编写这样的代码时,最好添加一些 () 以增加可读性,因为它更清楚您希望使用 *(something++) 或 (*something)++ 发生什么。
-
@Johan:是的,如果 ++ 或 * 更高,我总是要查找......而且经过 10 多年的 c++ ;-) 我总是这样做 *(++something)
-
如果任何答案对你有帮助,你应该接受答案;-)