【发布时间】:2014-07-06 10:33:50
【问题描述】:
问题一:
int main()
{
char *p="abcd";
printf("%c",*(p++));
return 0;
} // Here it will print a
问题 2:
int main()
{
char *p="abcd";
printf("%c",++*(p++));//why it is showing error over here
return 0;
} // Here it shows runtime error.
有人可以向我解释一下为什么语句 ++*(p++) 会导致运行时错误。
【问题讨论】:
-
为了将来参考,请包括您收到的确切错误。只是习惯于处理更复杂的问题。它将加快流程,您将避免被否决。
-
为什么要编写不可读的代码?
-
@EdHeal:当然是要参加 IOCCC 比赛 :)
-
包括,预期的结果是什么。如果你不指定程序应该做什么,就不会出现错误,不会出现奇怪的行为。
-
它会导致哪个“运行时错误”。换句话说,你的程序的输出是什么?