首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在
请编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“一1234”,则函数把它转换为整数值一1234。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在
admin
2021-06-15
47
问题
请编写函数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全国计算机二级
相关试题推荐
在关系数据库中,用来表示实体间联系的是
设有定义:intx=2;以下表达式中,值不为6的是
以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)()。
以下选项中正确的定义语句是
有以下程序#include<stdio.h>voidfun(int*a,int*b){int*c;c=a;a=b;b=c;}main(){intx=3,y=5,*p=&x,*q=&y;fun(p,q);pri
对于循环队列,下列叙述中正确的是()。
若有以下程序#includemain(){chara[20],b[]="Theskyisblue.";inti;for(i=0;i<10;i++)scanf("%c",&a[i]);a[i]=’\0’;gets(b);printf("%s%s
若函数调用时的实参为变量,下列关于函数形参和实参的叙述中正确的是()。
设有如下函数定义intfun(intk){iflk
下面的for语句的循环次数为()。for(x=1,y=0;(y!=19)&&(x
随机试题
夸美纽斯指出:“凡是需要知道的事物,都要通过事物本身来进行教学;就是说,应该尽可能地把事物本身或代替它的图像放在面前,让学生去看看、摸摸、听听、闻闻等等”;乌申斯基进一步指出:“一般说来,儿童是依靠形式、颜色、声音和感觉来进行思维的”“逻辑不是别的东西,而
瑞特染色的缓冲液pH应恒定在
受孕的必备条件包括
测定化妆品中甲醛时,甲醛标准溶液的配制应是
在食品检验中,用镉柱还原法或镉粉还原法所测定的物质是
下列属于扩张型资本运营的主要模式的有:()。
在我国,为证券交易提供清算、交收和过户服务的法人机构是()。
下列各项,能够引起所有者权益总额变化的是()。
创造性是指个体产生新奇独特的、______的产品的能力或特性。
Overacenturyago,AlfredRussellWallacewrotethat"weliveinazoologicallyimpoverishedworld,fromwhichallthehugest,
最新回复
(
0
)