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

原题是:一,有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值是多少?二,设ch是char型变量,其值为A,且有下面的表达式:ch=(ch>=‘A’&&... 原题是:
一,有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值是多少?
二,设ch是char型变量,其值为A,且有下面的表达式:
ch=(ch>=‘A’&&ch<='Z' )?(ch+32):ch;执行后表达式的值是多
少?
麻烦亲们给解释一下,谢谢大家了
展开
 我来答
sweetVellay
2012-11-26
知道答主
回答量:10
采纳率:0%
帮助的人:16.2万
展开全部
一、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;
}
其实是个大写字母转小写字母的代码
troy0215
推荐于2017-11-25 · TA获得超过231个赞
知道小有建树答主
回答量:310
采纳率:0%
帮助的人:303万
展开全部
一、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的值。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友830db4d
2012-11-26
知道答主
回答量:32
采纳率:0%
帮助的人:12.8万
展开全部
a%=(n%2) 就是a=a%(n-2)的缩写(这个类似于 a+=1;(a=a+1))
?和后面的:组合起来是一个选择符号,他的意思就是:问号前面的式子成立吗?成立的话就是冒号前面的,不成力的话就等于冒号后面的。你写的这句话的意思就是:ch是大写字母吗?如果是的话,让他加32变成小写字母,如果不是的话,就让他等于他本身(小写字母)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秦晓辉UlricQin
2012-11-26 · TA获得超过1110个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:71.9万
展开全部
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'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huhuan2048
2012-11-26
知道答主
回答量:6
采纳率:0%
帮助的人:10.7万
展开全部
1,a%=(n%2)就相当于 a=a%(n%2);
即a=a%1 最后a=0
2,只是条件运算符 代码的功能是 大写转小写 表达式结果为 a

<变量> = (<表达式><条件><表达式>)?<语句1>:<语句2>;
括号里的为真执行语句1否则执行语句2 最后给变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式