关于循环语句中的“!”

来源:百度知道 编辑:UC知道 时间:2024/06/17 07:15:55
a=0;
for(j=0;j<=n && !a;j++)
{a=1;
if(a[j]>a[j+1])
a=0;
}

这段程序中!a中a的值是什么,for语句的循环条件是什么
不好意思~下面的数组名改为b~~

!a中的值是1.因为a等于0.
!a意思就是非a。非运算,所以就是1,逻辑值为1.
for的循环条件就是j<=n且a!

当j>n或者a不等于0的时候跳出
因为所有非0整数都为1,为真。
!a就成假的,所以才跳出

a不等于0就跳出循环

for的条件是j<=n并且a等于0

条件是j<=n && !a,就是j<=n并且a==0

但是你的程序应该有问题
a 到底是一个整形变量还是一个数组?

如果a为1,则!a为0,a为0,!a为1

!是逻辑非的意思
它实现的是对一个逻辑表达式(0或1)的否定
比如说a=0的话,那么!a就是1也就是逻辑真的意思
而a不等于0的话,也就是说a是真的,那么!a就是逻辑假了