首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include <stdio.h> int fun(char s[]) { int n=0; while(*s<=’9’&&*s>=’0’) {n=10*n+*s-’0’;s++;} return
有以下程序: #include <stdio.h> int fun(char s[]) { int n=0; while(*s<=’9’&&*s>=’0’) {n=10*n+*s-’0’;s++;} return
admin
2009-01-15
29
问题
有以下程序: #include <stdio.h> int fun(char s[]) { int n=0; while(*s<=’9’&&*s>=’0’) {n=10*n+*s-’0’;s++;} return(n); } main() { char s[10]={’6’,’1’,’*’,’4’,’*’,’9’,’*’,’0’,’*’}; printf("%d\n",fun(s)); } 程序的运行结果是( )。
选项
A、9
B、61490
C、61
D、5
答案
4
解析
题目fun()函数中while循环的意思是:判断s所指内容是否为数字字符,如果是数字字符,则计算表达式n=10*n+*s-’0’;。其中*s-’0’的作用是将相应的数字字符转换为数值,例如字符’8’减去字符’0’后,得到的结果就是数值8了。n=10*n+的作用是将累计变量n中原来内容乘以10,然后再加上刚转换的数字字符的数值,例如原来n的值为1,*s现在的内容为’2’,那么执行了n=10*n+*s-’0’;语句后,n的值变为12,如果接下来再来一个’8’字符,执行n=10*n+*s-’O’;语句后,n的值就是128了。故不难看出fun()函数的作用是“将数字字符串转换为相应的十进制数值,碰到非数字字符时结束”。从主函数中定义的字符数组s的初始化内容可以看出,fun()函数返回值应该是61。故应该选择C。
转载请注明原文地址:https://kaotiyun.com/show/CFXp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设子程序过程定义的首部为:PublicSubS(XAsInteger,YAsSingle)则以下正确的调用形式为
在窗体(Name属性为Form1)上画两个文本框(Name属性分别为Text1和Text2)和一个命令按钮(Name属性为Command1),然后编写如下两个事件过程()。PrivateSubCommand1_Click()
设窗体上有名称为Option1的单选按钮,且程序中有语句:IfOption1.Value=TrueThen下面诏句中与该语句不等价的是()。
设窗体上有一个Picture1图片框,要求在图片框中的指定位置(坐标为(500,300))输出"OK",下面可以实现这一功能的事件过程是
下面关于菜单的叙述中正确的是
下面程序运行时,若输入“VisualBasicProgramming”,则在窗体上输出的是()。PrivateSubCommandlClick()DimNurn(25)AsInteger,ChrlAsStringChrl=U
有如下数据定义语句:DimX,YAsInteger以上语句表明( )。
下列各种窗体事件中,不能由用户触发的事件是()。
在某个事件过程中定义的变量是
在长度为n的顺序表中查找一个元素,假设需要查找的元素一定在表中,并且元素出现在表中每个位置上的可能性是相同的,则在平均情况下需要比较的次数为()。
随机试题
关于有效数字的描述,()是不正确的。
由于商标的单一性,同类商标价格获取的难度,使得________应用受到限制()
胃排空的原动力是
辅助生殖技术应包括()
在严格意义上并不能称为先心病的是又称为肺动脉高压性右向左分流综合征的是
男,60岁。可摘局部义齿修复2年,黏膜压痛一周,查缺失,左侧牙槽嵴低平,下颌舌骨嵴处黏膜红肿。如果检查后发现义齿游离端加压翘动明显,其可行的处理方法是()
传染性非典型肺炎临床确诊必须依据的是
A.70~80℃B.40~50℃C.10~30℃D.2~10℃E.0℃
当锅炉锅筒工作压力为0.8~1.6MPa时,锅炉本体水压试验的试验压力为()。
—Andrewwon’tlikeit,youknow.—______?Idon’tcarewhatAndrewthinks!
最新回复
(
0
)