【发布时间】:2010-10-13 14:20:11
【问题描述】:
这个代码段必须返回什么? 16 16 16 对吗?
int main(int argc,char *argv[])
{
int a=2,*f1,*f2;
f1=f2=&a;
*f2+=*f1+=a+=2.5;
printf("%d %d %d\n",a,*f1,*f2);
return 0;
}
奇怪的是,它返回 8 8 8 给我 ???? :-(
【问题讨论】:
-
谁让你写代码的?!?
-
提问者可能不知道,但这是stackoverflow.com/questions/949433/…的另一个微妙变体
-
那个怪物是什么?你的老师喜欢在背后捅刀子吗?这种行为甚至没有被定义/保证 xD
-
是的,避免无关紧要的“知识”是一门艺术:)
-
Yashwant Kanitkar 测试你的 C 技能?
标签: c