没有见过这样赋值的,这是什么原理啊,哪儿规定的呢?
# include "stdio.h "
void main( )
{int i,a,b,c,j,k,x;
char s;
a=3,b=4,c=a*b,j=a*9;
printf( "i=%d\ta=%d\tb=%d\tc=%d\t\j=%d\n ",i,a,b,c,j);
k=(a=3,b=4,c=a*b,j=b*9);
printf( "k=%d\ta=%d\tb=%d\t\c=%d\tj=%d\n ",k,a,b,c,j);
x=(a=3,b=4,c=a*b,j=c*9);
printf( "x=%d\ta=%d\tb=%d\t\c=%d\tj=%d\n ",x,a,b,c,j);
scanf( "%s ",s);
}
// k = 36 x = 108
[解决办法]
C中逗号 ", "表达式表示从左到右依此执行各条语句,并把最后一项作为表达式的值.
[解决办法]
这是测试printf里面一要不包含表达式的例子,因为执行出来的结果往往和你预期的是不一样的。
[解决办法]
就是逗号表达式
:)
该仔细看看书啊, 这是几本的东西
[解决办法]
运算符的一种,优先级最低~
[解决办法]
K=(表达式1,表达式2....表达式n)
K取最后一个表达式的值
[解决办法]
逗号表达式用处不是太大
[解决办法]
逗号运算符,优先级最低,通常写程序不要这么写,看着别扭
[解决办法]
运算符的一种,优先级最低~
[解决办法]
像 printf()
这样
在把 表达式作为实参调用的时候
运行的结果可能不是预期的
[解决办法]
最后都是k=j,把j的值赋值给K