【发布时间】:2011-04-09 06:30:53
【问题描述】:
int val = 5;
printf("%d",++val++); //gives compilation error : '++' needs l-value
int *p = &val;
printf("%d",++*p++); //no error
谁能解释这两种情况?谢谢。
【问题讨论】:
-
在这种情况下,发布您看到的错误消息和您正在使用的编译器(版本)通常会有所帮助。
-
没有人应该写出这样的代码。
-
投票结束不是一个真正的问题。这样的代码在现实生活中是找不到的。任何只是像这样的语法意外的东西都应该指向一个常见问题解答,它只是说不要傻。
-
@Martin:如果你在现实生活中发现了这样的代码,请修复它,然后打负责人。
标签: c increment operator-precedence