c语言中%=和?是什么意思?

2024年11月22日 04:47
有5个网友回答
网友(1):

一、a %= b --> a = a%b,取余数知道不?用你这题来说 先运算 n%2 -->5%2取余数为1,再来a%1-->得到0,所以a的值是0。
二、这里的?和后面的:是一体的,是一个唯一的一个三目运算符,如果?前面的表达式为真,取?后面值,否则取:后面的值,可以看成
if(ch >= ‘A’ && ch <= 'Z' )
{
ch = ch + 32;
}
else
{
ch = ch;
}
其实是个大写字母转小写字母的代码

网友(2):

一、a%=(n%2)
%取余数
n%2=1
a%=1---->a=a%1
12%1=0
a=0
二、?:-------> 三目运算符
你可以百度一下三目运算符。
ch=(ch>=‘A’&&ch<='Z' )?(ch+32):ch;
这个表达式先判断ch是不是大写字母,如果是,ch+32,把ch转化成小写字母;如果不是,不改变ch的值。

网友(3):

a%=(n%2) 就是a=a%(n-2)的缩写(这个类似于 a+=1;(a=a+1))
?和后面的:组合起来是一个选择符号,他的意思就是:问号前面的式子成立吗?成立的话就是冒号前面的,不成力的话就等于冒号后面的。你写的这句话的意思就是:ch是大写字母吗?如果是的话,让他加32变成小写字母,如果不是的话,就让他等于他本身(小写字母)

网友(4):

n%2=1
a%=1 就相当于a=a%1,所以最后a=0
(ch>=‘A’&&ch<='Z' )这个表达式是成立的,所以

ch=ch+32
A对应的ascii码是:65,65+32=97,97对应的字符是:a
所以最后ch='a'

网友(5):

1,a%=(n%2)就相当于 a=a%(n%2);
即a=a%1 最后a=0
2,只是条件运算符 代码的功能是 大写转小写 表达式结果为 a

<变量> = (<表达式><条件><表达式>)?<语句1>:<语句2>;
括号里的为真执行语句1否则执行语句2 最后给变量