int i=(j=4,k=8,l=16,m=32); printf(“%d”, i); 输出是多少? 为什么

来源:百度知道 编辑:UC知道 时间:2024/06/08 04:36:06

输出是32,知识点:
逗号表达式是从左向右依次执行,逗号表达式的值是最后一个表达式的值。

#include<stdio.h>
main()
{
int j,k,l,m;
int i=(j=4,k=8,l=16,m=32);
printf("%d", i);
getche();
}
经过试验 是返回32 就是最后的一个值 不是1

……输出应该是1
逗号(sequential expression)表达式依次求职,并且将最后一个表达式的值返回。

最后一个表达式是(m=32)该表达式将m赋值为32,并且返回1,所以i应该等于1.