首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有下列程序 #include <stdio.h> main() { char *P="6938"; int i,s=0; for(i=3;i>=0;i--) s=10*s+p[i]-’0’; printf(
有下列程序 #include <stdio.h> main() { char *P="6938"; int i,s=0; for(i=3;i>=0;i--) s=10*s+p[i]-’0’; printf(
admin
2022-04-01
82
问题
有下列程序
#include <stdio.h>
main()
{
char *P="6938";
int i,s=0;
for(i=3;i>=0;i--)
s=10*s+p
-’0’;
printf("%d\n",s);
}
程序运行后的输出结果是( )。
选项
A、8396
B、6938
C、3869
D、3689
答案
A
解析
程序首先定义一个字符指针p,指向一个字符串“6938”,然后通过for循环使用逆序的方式遍历字符串的各个字符,并将各个字符当作整数参与算术运算,其中p
-‘0’含义是将字符串中的数字字符转换成对应的整数;10*s是将上一次运算结果乘以10后与转换后的整数相加,再累加到s中,所以for循环执行完后,s的值是将字符串“6938”逆序后当作整数输出,本题答案为A。
转载请注明原文地址:https://www.kaotiyun.com/show/tnkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有以下定义intx[10],*pt=x;则对x数组元素的正确引用是
读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);其中buffer代表的是
有以下程序#includevoidmain(){chars[]="012xy\08s34f4w2";inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=’0’&&s[
以下叙述中正确的是
有下列程序:voidf(intb[]){intI;for(i=2;i<6;i++)b[i]*=2;}main(){inta[10]={1,2,3,4,5,6,7,8,9,10},i;f(a);for(i=0;i<10,
若有以下程序main(){inta=1,b=2,c=3,d=4,r=0;if(a!=1);elser=1;if(b==2)r+=2;if(c!=3);r+=3;if(d==4)r+=4;printf("%d\n",r);}则程序的输出结
设有定义:charp[]={’1’,’2’,’3’},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是( )。
以下叙述中错误的是
与数学表达式x≥y≥z对应的C语言表达式是
随机试题
患者肢体经人摆布成极不舒服的姿势而长时间维持不变,此症状就是蜡样屈曲。()
A.苏子降气汤B.小青龙汤C.六君子汤D.参苓白术散E.二陈平胃散治疗痰浊壅肺型肺胀的首选方是
急性阑尾炎最典型的体征是
悬钟穴位于()
外贸手续费的计算公式正确的是()。
下列关于防火分区的划分说法错误的是()。
根据《中华人民共和国信托法》,受托人以()为限向受益人承担支付信托利益的义务。
下列数据结构中,能用二分法进行查找的是()。
F
WillaCatherwrotebecauseshefoundwriting______.WhatdidCathermeanby"theendisnothing;theroadisalt"?
最新回复
(
0
)