当前位置:去回答>百科知识>问一道 C语言 关于 ANCII 码运算的题目

问一道 C语言 关于 ANCII 码运算的题目

2024-04-13 21:47:00 编辑:join 浏览量:552

问一道 C语言 关于 ANCII 码运算的题目

这道题事实上准确答案应该是xx[i][j]+=ch;系统之所以认为是对的,是因为系统建立的时候就是以xx[i][j]+=4作为正确答案的,所以大可不必深究。考试的时候系统肯定不会出现这样低级的问题。

至于你说的“那如果 两个 字符变量 的ASCII值 相加 得出新的字符 然后输出

改怎么做”,这个主要就是一个强制转化的问题,以你的例子来说,假定 char a='a', b='#', c;

用(int)(a+b)就得到的就是两字符ASC||相加的和,再用(char)(int(a+b))强制转化即得最后答案,但答案肯定不是你说的d,因为#的ASC||值是35,a的ASC||值是97相加是132,而d的ASC||值是100,不信可以上机试试,有啥不明白的可继续问我,呵呵。

答案错了,就是x[i][j]+=ch

char取值在-128到127之间

如果字符'c' ascii是99,那么99<<4相当于99*16=1584,二进制为0110 0011 0000,那么低8位将传递给ch,即0011 0000,十进制为48

所以ch=xx[i][j]<<4;ch=48,99+48=147,二进制为1001 0011,超过127,则对1001 0011后7位+1取反为1110 1101,十进制为-109,ch=-109,在-128到127之间

“就把左移后的字符ASCII值再加上原字符的ASCII值,得到的新字符仍存入到原字符串对应的位置”

我觉得应该是 x[i][j]+=ch

x[i][j(也就是此字符串首地址)+4(地址后移4位)x[i][j]+=4(字符串首地址=地址后移4位+字符串首地址)

标签:C语言,ANCII,题目

版权声明:文章由 去回答 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.quhuida.com/article/51891.html
热门文章