main( ) { int n; ( n=6*4,n+6),n*2; printf(“n=%d\n”,n); } 此程序的输出结果是? 要解析
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/18 04:35:48
main() {intn;(n=6*4,n+6),n*2;printf(“n=%d\n”,n);} 此程序的输出结果是?要解析main() {intn;(n=6*4,n+6),n*2;printf(“
main( ) { int n; ( n=6*4,n+6),n*2; printf(“n=%d\n”,n); } 此程序的输出结果是? 要解析
main( ) { int n; ( n=6*4,n+6),n*2; printf(“n=%d\n”,n); } 此程序的输出结果是? 要解析
main( ) { int n; ( n=6*4,n+6),n*2; printf(“n=%d\n”,n); } 此程序的输出结果是? 要解析
这是关于操作符的问题,C语言的第一二章!
一句话:和逗号有关,先单独试试n=3,4;(n=4)
一下是详细分析!
和编译器有一定的关系.
这里以VC来说了.
这一句的总值是48,
用printf("%d",(( n=6*4,n+6),n*2));可得出来!
而单单变量n的值是24.也就是楼主的代码得出的结果
分析:
VC编译器赋值是从右往左的!
先括号优先!
括号里的也是从右往左!
->n+6=6;(n不变,还是初始值0
->n=6*4;(不用说,n=24);
还是从右往左(包括逗号)
->(24,6)=6;(这时总值为6)
括号外面的
n*2=48;(n不变,还是24)
最后
24,48=48;
楼主可以试试下面的代码!
main()
{
int a,b,c;
a=(3,5),4;
b=8;
c=a,b;
printf("%d\n",(a,b));
getch();
}