问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在c语言中,char a='A'; printf ("%d%o", a = a + 1 , a + 'a' - 'A' );输出结果是什么?第二个输出详解

发布网友 发布时间:2022-10-12 23:39

我来回答

5个回答

热心网友 时间:2023-10-12 21:44

这个涉及到函数参数的从右到左还是从左到右的问题,其实计算的过程大家都知道

原因是,如果一个函数有多个参数,比如

int fun (int a, int b, int c);

调用时,总是从最后一个参数开始压栈。 也就是c先进栈,其次是b,最后才是a。

同理, 如果你这样写:

int main ()
{
int i = 0;
printf ("%d,%d,%d",++i,++i,++i);
}

先计算最后一个参数(即最右一个++i),压入1,以此类推,再压入2,3和字符串"%d,%d,%d"的首地址。

程序的输出是 3,2,1

此例同理

热心网友 时间:2023-10-12 21:44

首先,应该说明的是在不同的编译环境中结果是不一样的。

在VC++6.0中的规则: printf函数的执行顺序是由右到左的

举个例子1:
int a=65,b=20;
printf("%d,%d\n",b=a+1,a=a+1);

输出结果是:67,66
而不是:66,66

例子2:
int a=65,b=20;
printf ("%d,%d",b=a+1,b+1,a=a+1);
输出结果是:67,21
第一个%d与b=a+1替换 第二个%d与剩下的替换 顺序右到左
先算a=a+1=66 替换 第二个 %d
再算b+1 =21 替换 第二个 %d
再算b=a+1=67 替换 第一个 %d

例子3:
int a=65,b=20;
printf ("%d,%d",(b=a+1,b+1),b-5,a=a+1);
输出结果是:67,61
第一个%d与 括号里的 替换, 第二个%d与剩下的替换

括号优先级最高,先算括号里的,括号里内容相当于逗号表达式,顺序从左到右。
余下的顺序从右到左

先算b=a+1=66 替换 第一个 %d
再算b+1 =67 替换 第一个 %d
再算a=a+1=66 替换 第二个 %d
再算b-5 =61 替换 第二个 %d

这题的答案是20,142 过程与 例子3 相似
够详细了吧!

热心网友 时间:2023-10-12 21:45

输出的结果是66 141
a = a+1//a = 65 +1
a + 'a' - 'A' 可以换成a- 'A ‘+ 'a' = ’A'-'A'+'a'
最后输出的是a的值97换成8进制是141

热心网友 时间:2023-10-12 21:45

输出结果是66142,第二个是142
你算的142是对的,答案141错了。a=a+1,a='B',答案还是按'A'计算了。

热心网友 时间:2023-10-12 21:46

1 输出结果是:
66142

2 分析:
a=a+1
=65+1
=66

a+'a'-'A'
=66+97-65
=98
=(142)8 --->表示142是八进制
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 老子提出“虚实结合”的原则所体现的美学理念是什么 c语言中 char a; 请问 a与’a’有啥区别 ’a’是a的ascll码?是个数字? C语言入门级问题 char a='a'; a能算出来吗? float x=2.5 ;double y=5.0, z;后一句什么意思?还有,x/y=? c语言中 char a='a',abc; 是什么意思? charA=‘A’的数据类型? 戏曲的虚和实分别表现在哪些方面?谈谈你的理解? C语言char a='A'什么意思 怎样理解中国艺术中的虚实相生 备案如何写 平顶山市那里有换高仿苹果手机屏幕总成的 我家在平顶山想办水果批发,哪有批发便宜点的地方,现在主要以苹果为主,希望好心人告我下,谢谢! 平顶山市电子时代广场的苹果x咋样能买吗 比赛中。故意让对方(赢)。的“让”用英文怎么表达。怎么用英文说:我让你。 - 信息提示 你让我很生气 英文怎么写? 你让我很感动的英语怎么写 “你让我重生”英文怎么写? 你让我受伤,这英文怎么写 做梦梦见葬礼 “爸爸,是你让我去上学”的英语怎么读 c语言中 char *q=a;什么意思 旋律 节奏在简谱上分别是怎么表示的 "我靠"是my god的外来语? 我靠 英语怎么说 中国银行对公账户如何绑定手机短信 应该如何机智的跟HR谈薪资? “王英”的英名称怎么打呢!现在很多资料填写时都要求写英文名。 自从去年以来我就未预见过王英。用英语翻译 “树上的几只鸟”、“一张王英家的旧照片”用英语怎么说 我叫王英传,我想起个英文名字 汤姆说中文如同王英说英文一样困难 这句话用英语怎么说 假设你叫王英,因重感冒而给你的上司史密斯先生写一张请假条。注意需在请假条中说明请假理由。用英文写。 英语作业 帮个忙 爱祖国的名言名句 冬天优美句子摘抄简短 描写冬天的优美句子摘抄 我的同学300字优秀作文 我的同学300字优秀范文 小心!使用这些药物更容易引起“猛起头晕” 呋塞米与氢氯噻嗪引起低氯性碱中毒的机制是否相同,为什么 第46届台湾电影金马奖的获奖名单 人教版高中英语必修四听力下载的网址