首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在
admin
2021-06-15
26
问题
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<string.h>
long fun(char*P)
{
}
void main()
{
char s[6];
long n;
printf("Enter a string:\n");
gets(s);
n=fun(s);
printf("%id\n",n);
}
选项
答案
long fun(char*p) { long n=0; int flag=1; if(*p==’-’)/*负数时置flag为-1*/ {p++;flag=-1;} else if(*p==’+’)/*正数时置flag为1*/ p++; while(*p!=’\0’) { n=n*10+*p-’0’;/*将字符串转成相应的整数*/ p++; } return n*flag; }
解析
if语句的作用是判断该字符串为正数还是负数,while循环的作用是将字符串转成相应的整数。注意:*p是一个字符(例如‘9’、‘4’),并不是一个数,要将其转成相应的数字需令其减去’0’(不是’\0’),即*p一’0’就得到*p这个字符的相应数字,例如’0’一’0’=0、’8’一’0’=8等。必须在程序的前面加#include<stdlib.h>,函数atol的作用是将字符串转换成长整型数,它是一个库函数。
转载请注明原文地址:https://kaotiyun.com/show/t0tp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有定义语句:char*s1="OK",*s2="ok";以下选项中,能够输出"OK"的语句是()。
以下四个程序中,完全正确的是
有以下程序:#includemain(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf("%d\n
设有定义:intx=2;以下表达式中,值不为6的是
设有定义语句int(*f)(int);则以下叙述正确的是
层次型、网状型和关系型数据库划分原则是
下面属于黑盒测试方法的是
下面属于白盒测试方法的是()。
构成计算机软件的是()。
下面不属于软件需求分析阶段主要工作的是
随机试题
女性不孕的常见原因有()、()、()、()、()。
男,52岁。患皮肤病10余年,反复发作,累及全身。躯干及四肢伸侧分布大小不一的红色丘疹、斑块,肘、膝、腰、骶尾部更为明显,表面覆有分层云母样鳞屑;鳞屑易剥除,下方呈发亮淡红色薄膜状及点状出血。头皮皮损表面有较厚鳞屑,头发成束。手足甲呈凹陷点,甲床肥厚。
在脂肪酸的合成中,每次碳链的延长都需要()直接参加。
慢性支气管炎的缓解期,时问应是
基金投资者应承担的义务不包括()。
《物业管理条例》中法律责任的特点有()。
个人品德的核心成分是()。
A、 B、 C、 D、 B将每个图形看成刻度尺,从左到右,0一8标数,第一个图形在2、4、6位置上标记,且2+4=6,题干图形都有类似的规律,选项中只有B符合。
Soitistoday.Scheduledisasterfunctionalmisfits,andsystembugsallarisebecausethelefthanddoesn’tknowwhattheright
Whicharrangementistakingplaceatthetimethatwasplanned?
最新回复
(
0
)