C语言语句解释,高手请进!

2024-12-14 23:26:08
推荐回答(4个)
回答1:

"if(!xx[i])"这句的意思是:如果xx[i]的值是假,那么执行括号后面的语句(程序中为跳出循环)。它的作用是判断当前for循环是否已经处理完了最后一个数,因为预先不知道具体有多少个数,只给个最大限200.
!表示逻辑非,即将真假值颠倒一下,if语句后面的括号中的值为真时执行括号后的语句,否则执行else后的(假如有else的话)。而括号内有!,所以感叹号后的表达式xx[i]值为假(也就是空值,在readdat函数中未赋值给它)时整个括号内值则为真,会执行括号后跳出循环的break语句.
“totpjz/=totcnt;”这句的意思是:totpjz=totpjz/totcnt.作用是计算题中第二问要求的平均值。因为这句之前是一个for循环块(对应花括号"{"就能看出来),每次循环中均会判断当前的xx[i]经过题中要求的处理后是否为满足条件的数,是的话有这两句totCnt++;
totPjz += xx[i];意思是满足条件的数的数目增一,并将这个数加到totpjz中去,能看出在循环中totpjz不是作为存储平均值的,而是暂时作为一个累加器,存储所有满足条件数的和,最后循环结束后除以个数totcnt,也就是执行 totpjz/=totcnt后才表示平均值。

回答2:

就回答你那两个问题
!是非的意思,一般用于布尔变量
这里用!后负数和零会返回假,正数返回真。
/=是缩写。和+=一样
a/=10等价于 a=a/10

回答3:

①教你一个方法
if(!XX)可以看成if(XX==0)

②A运算符=B

等价于

A=A运算符B

回答4:

if(xx[i]==0) totpjz=totpjz/totcnt;