下面程序的输出结果是( ).#include <stdio.h> main() { int x='f'; printf("%c\n

下面程序的输出结果是( )。#include <stdio.h> main() { int x='f';
printf("%c\n",'A'+(x-'a'+1));}
a、G
b、H
c、I
d、J

您好!很高兴为您解答。


输出结果为a、G:


#include <stdio.h>

main()

{

int x='f'; 

printf("%c\n",'A'+(x-'a'+1));//相当于ascⅡ码的加减:65+(102-97+1)=71所以输出ascⅡ为71的G

}


望采纳~如您还有不解,欢迎追问~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-21
ASCII 码 字母按 顺序排列。
例如小写字母次序: a,b,c,d,e,f,g,.....x,y,z , 相邻字母差别是1,从a增到z
例如大写字母次序: A,B,C,D,.....X,Y,Z, 相邻字母差别是1,从A增到Z

你不需要去记忆它们的编码到底 是几,只要知道按次序排列的。

int x='f';
x-'a' 就是 'f' - 'a' 。 按a,b,c,d,e,f 顺序, ASCII 码 差 5, 'f' - 'a' 等于5。
x-'a'+1 等于6。
'A' + 6 到 A,B,C,D,E,F,G,H,I,J 里去找,A 右 数到 第6个字母,是 G。
答案 a、G
相似回答