3个回答
展开全部
简单的说就是:
strcmp是个比较函数,用法就是a>b返回1,a<b返回-1,a==b返回0.
C语言规定非0为真,0为假。!号是取非,即把0变成1,非0变成0;
假设a=5,b=4
那么a>b,返回结果为1,取非之后为0,既为假.就不会执行下面的break语句。
假设a=4,b=5
结果为a<b,返回值为-1,取非之后也是0,还是假,也不会执行下面的break语句。
只有当a和b相等时,才会执行break语句,既跳出语句。
比如a=5,b=5时。
a == b,strcmp的返回值稳定为0,取非之后为1,if判断为真,就开始执行break语句
strcmp是个比较函数,用法就是a>b返回1,a<b返回-1,a==b返回0.
C语言规定非0为真,0为假。!号是取非,即把0变成1,非0变成0;
假设a=5,b=4
那么a>b,返回结果为1,取非之后为0,既为假.就不会执行下面的break语句。
假设a=4,b=5
结果为a<b,返回值为-1,取非之后也是0,还是假,也不会执行下面的break语句。
只有当a和b相等时,才会执行break语句,既跳出语句。
比如a=5,b=5时。
a == b,strcmp的返回值稳定为0,取非之后为1,if判断为真,就开始执行break语句
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询