这个C语言程序的答案看不懂,希望好心人帮忙解释一下哦,急用,非常感谢!main(){int i,k; i=3; k=++i+(++i); pintf("k=%d,i=%d\n",k,i); k=i+++(++i); pintf("k=%d,i=%d\n",k,i);}运行后结果是:10 ,5 12 ,
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 08:58:26
这个C语言程序的答案看不懂,希望好心人帮忙解释一下哦,急用,非常感谢!main(){int i,k; i=3; k=++i+(++i); pintf("k=%d,i=%d\n",k,i); k=i+++(++i); pintf("k=%d,i=%d\n",k,i);}运行后结果是:10 ,5 12 ,
这个C语言程序的答案看不懂,希望好心人帮忙解释一下哦,急用,非常感谢!
main()
{int i,k;
i=3;
k=++i+(++i);
pintf("k=%d,i=%d\n",k,i);
k=i+++(++i);
pintf("k=%d,i=%d\n",k,i);
}
运行后结果是:10 ,5
12 ,7
这个C语言程序的答案看不懂,希望好心人帮忙解释一下哦,急用,非常感谢!main(){int i,k; i=3; k=++i+(++i); pintf("k=%d,i=%d\n",k,i); k=i+++(++i); pintf("k=%d,i=%d\n",k,i);}运行后结果是:10 ,5 12 ,
对于k=++i+(++i),++的优先度比+要高,所以等同于(++i)+(++i),说白了就是i先自加,然后i再自加,然后i再加上i赋给k,两个5相加,等于10
对于i+++(++i)和前面就一样了,i的值现在是5,i++可以无视掉,因为它是先参与运算才赋值的,所以知道k被赋值,第一句i自加都是不进行的,然后加上++i,也就是i先自加,现在i的值是6了,i+i就=12,然后++i生效,i=7.