有以下程序: #include <stdio.h> main() {char ch1,ch2; int n1,n2; ch1=getchar(); ch2=getchar(); n1=ch1-’0’; n2=n

admin2013-06-11  26

问题 有以下程序:
   #include  <stdio.h>
   main()
   {char ch1,ch2;    int n1,n2;
   ch1=getchar();  ch2=getchar();
   n1=ch1-’0’;    n2=n1*10+(ch2-’0’);
   printf("%d\n",n2);;
   }
   程序运行时输入12<回车>,执行后输出结果是【  】。

选项

答案12

解析 字符类型的数据在内存中以相应的ASCII码存放,在C语言中,字符数据可以等价为与其相应的ASCII码的整数,还可以作为整数参加运算。在本题中,n1=ch1-’0’=’1-’0’=49-48=1,n2=n1*10+(ch2-’0’)=1*10+(’2’-’0’)=10+2=12,所以,最后输出为 12。
转载请注明原文地址:https://kaotiyun.com/show/UuJp777K
0

最新回复(0)