已有声明:“int t=1;”,则执行“printf("%d",(t+5,t++))';”时,输出的结果是什么? C语言里main() {int i,t; t=1; i=2;...

作者&投稿:错骂 (若有异议请与网页底部的电邮联系)
输出值为1

语句printf("%d",(t+5,t++));
也就是输出表达式t+5,t++的值,逗号表达式的值由最后一项决定,也就是t++
前面的t+5未改变t值,t++,++运算符后缀,先引用后自增
所以输出t原值1,但是t值最后变为2

int t=1;printf("%d\n",(t+5,t++));为什么输出1?~

首先要知道打印出来的是(t+5,t++)这个表达式的值
(t+5,t++)是逗号表达式,都好表达式的值是最后一个式子的值。例如(a,b,c,d),此时的逗号表达式的值就是d。所以(t+5,t++)的值等于t++
因为是后至自加,所以先使用后自加,所以值为1。
所以打印的是1

main()主函数,每个项目都必须要的东西,没有它,程序永远跑不起来。
int i,t;就是定义两个int类型的变量(int类型也就是整数类型)
t =1;i=2;也就是给t和i这两个你定义好的变量赋值,每个变量都需先进行赋值(术语是:初始化)
while这个函数是一个循环函数,小括号里面的是你执行大括号里面语句的条件,也就是说只要i<=5,那么就执行大括号里面的语句。。
t = t*i..这个就不解释了,

printf这是个输出函数,(%d(说明你要输出的变量的类型,这个%d是整数类型),t(就是说你要输出那个变量))
都是一个字一个字敲出来的,如果觉得有用,望采纳!