C编译器匹配 *** 作符的模式是贪婪匹配,也就是在语法成立的情况下匹配尽可能多的 *** 作符。
编译器看到a+++b一句后,先尝试匹配一个+号,发现符合+运算符;再尝试匹配两个+号,发现符合++运算符;再尝试匹配三个+号,发现没有+++运算符,因此最终将前半部分解释为a++。剩下的一个+号只能匹配+运算符,因此整个表达式被解释成(a++) + b。最终结果是先计算a+b的值赋给c,然后将a+1。因此a=6,b=7,c=12。
答案是:6
18。它那个++的运算符比+的优先级高,而且++又是在前面的,因此是先i自加1,加到第一个i时i的值就变成6了,这里是因为++i是从右边开始加到左边的,这样最后就变成三个i相加也就是6+6+6=18,我想你们老师应该是讲错了你可以去和他说下。
还有你所说的不按常理进行的有个复值运算,例如a=b=c=d=5;是从右边复到左边的。
//程序如下,加法
减法各25道
#include<stdioh>
#include<timeh>
#include<stdlibh>
void
main()
{
int
i,a,b,c,score=0;
srand((unsigned)time(NULL));
for(i=1;i<=50;i++)
{
a=rand()%89+10;
b=rand()%89+10;
c=rand()%198;
if(i<=25)
{
printf("%d+%d=%d\n",a,b,c);
if(c==a+b)
{printf("正确!\n");
score+=2;
}
else
printf("错误!\n");
}
else
{
printf("%d-%d=%d\n",a,b,c);
if(c==a-b)
{printf("正确!\n");
score+=2;
}
else
printf("错误!\n");
}
}
printf("总分为:%d\n",score);
}
以上就是关于c语言加法运算,要详细步骤全部的内容,包括:c语言加法运算,要详细步骤、关于C语言中计算机的加法运算法则、怎么用C语言编写一个随机两位数的加减法的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)