对于这个答案谁能给我个解释?

问题描述:

对于这个答案谁能给我个解释?
对于这个程序的答案是15,22,8,8,这个答案小弟我始终不明白,
#include
main()
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p,q,i,j);
}
1个回答 分类:综合 2014-11-13

问题解答:

我来补答
不用管了,不同的编译器答案是不一样的;ANSI没有对++做硬性规定.
程序应该是让人易懂的,上面这种不应该出现在真正应用的程序中,可以移植性差,也难让人懂;
可以改写成:int j=i++,k=i++,l=i++;
p=j+k+l;
或者怎么改,主要看你的用途
学编程既要弄透彻细节,又不能拘泥于细节,这种细节你就不用管了 ,根本不该这么用的
 
 
展开全文阅读
剩余:2000