C语言问题(请教大家)

来源:百度知道 编辑:UC知道 时间:2024/05/07 06:56:17
第一题:
3ab
若有代数式 --- 则不正确的C语言表达式为什么是:3*a*e/b*c
bc

这不对吗?为什么??

第二题:
main()
{
int x,n;
x=5;n=5;
printf("%d",x+=n++);
}
结果为什么是:10 而:printf("%d,%d",x+=n++,n)为什么又是10,5(而不是6)??printf("%d,%d",n,n++);又是:5,6??
printf("%d,%d",x+=n++,n)为什么又是10,5(而不是6)??printf("%d,%d",n,n++);又是:5,6??

x+=n++是表示x=x+n++
main()
{
int x,n;
x=5;n=5;
printf("%d",x+=n++);
}
所以输出结果是10,n++表示使用之后再+1

因为printf 是从右往左运算的
所以printf("%d,%d",x+=n++,n)的结果是10和5
即先输出n,再输出x+=n++
C语言很多运算都是从右向左的,这点要注意!

printf("%d",x+=n++);

先求x=x+n =10
再n++;
n++
是先求N 的值,再自加。++n 那是先自加,再求值

n++代表使用之后再+1.