首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include <stdio.h> int fun(char s[]) { int n=O; while(*s<=’9’&&*s>=’0’) { n=10*n+*s-’0’; s++;
有以下程序 #include <stdio.h> int fun(char s[]) { int n=O; while(*s<=’9’&&*s>=’0’) { n=10*n+*s-’0’; s++;
admin
2013-02-23
12
问题
有以下程序 #include <stdio.h> int fun(char s[]) { int n=O; 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
答案
C
解析
题目fun()函数中while循环的意思是:判断s所指内容是否为数字字符,如果是数字字符,则计算表达式11=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-’0’;语句后,n的值就是128了。故不难看出fun()函数的作用是“将数字字符串转换为相应的十进制数值,碰到非数字字符时结束”。从主函数中定义的字符数组s的初始化内容可以看出,fun()函数返回值应该是61。故应该选择C。
转载请注明原文地址:https://kaotiyun.com/show/IoJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则
当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的【】。
对下述程序,正确的判断是()main(){inta,b,seanf("%d,%d",&a,&b);if(a>b)a=b;b=a;elsea++;b++printf("%d,%d"
下述对C语言字符数组的描述中错误的是()
下面叙述正确的是()
下述函数用于统计一行字符中的单词个数,单词之间用空格分隔。word_num(str)charstr[];{inti,num=0,word=0;fo(i=0;str[i]!=【】;i++)if(
在C语言中,引用数组元素时,其数组下标的数据类型允许是______。
对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为
已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填______。structlink{chardata;______,}node;
随机试题
看X与Y的方差郡存在,D(X)>0,D(Y)>0,E(XY)=E(X)E(Y),则一定有【】
Scientistswhostudythebrainhavefoundoutagreatdealabouthowwelearn.Theyhave【C1】______thatbabieslearnmuchmoref
A.1年B.2年C.3年D.4年E.5年
征收个人所得税时,以每次收入额直接作为应纳税所得额的项目有()o
关于竣工验收的说法中,正确的是()。
甲公司成立于2017年5月l8日,法定代表人为李某。6月5日,甲公司财务人员张某持有关资料到Q银行开立基本存款账户。8月6日,甲公司从乙公司购进一批价值260万元的货物,采用支票方式付款。甲公司为丙网络支付机构的特约商户,双方签订的银行卡受理协议中约定,按
宁夏()属中华名吃。
【海关总税务司】厦门大学2015年历史学基础真题;苏州科技大学2017年中国通史真题
已知=d,计算行列式
ApioneeringstudybyDonaldAppleyardmadethesurprisingdiscoverythatasuddenincreaseinthevolumeoftrafficthroughan
最新回复
(
0
)