首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODl1.C中函数char *fun(char *s1,char *s2,char *r)的功能:将两个长度相等的数字字符串当作两个加数,求其代表的数值之和并以字符串的形式存入r所指内存且返回。 例如:s1是”723”,s2是”567”
给定程序MODl1.C中函数char *fun(char *s1,char *s2,char *r)的功能:将两个长度相等的数字字符串当作两个加数,求其代表的数值之和并以字符串的形式存入r所指内存且返回。 例如:s1是”723”,s2是”567”
admin
2022-10-25
41
问题
给定程序MODl1.C中函数char *fun(char *s1,char *s2,char *r)的功能:将两个长度相等的数字字符串当作两个加数,求其代表的数值之和并以字符串的形式存入r所指内存且返回。
例如:s1是”723”,s2是”567”,则返回的字符串为”1290”。要考虑进位。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#include<string.h>
char *fun(char *s1,char *s2,char *r)
{
int len,cy=0,md;
char *p,*q,*t;
len=strlen(s1);
p=s1+len-1:
q=s2+len-1:
t=r+len;
/************found************/
*t=’\0’;
while(p>=s1)
{
/************found************/
md=*p+*q-’0’+cy:
if(md>=10) cy=1;
else cy=0;
{t=md%10+’0’;
p﹣﹣;
q﹣﹣;
t﹣﹣;
}
/************found************/
if(cy=1)
*t=’1’;
else
{
while(*r++=*++t);
}
return r;
}
void main()
{
char sl[100],s2[100],s3[101];
strcpy(s1,”65743”);
strcpy(s2,”85339”);
fun(s1,s2,s3);
printf(”%s+%s=%s\n”,s1,s2,s3);
}
选项
答案
(1)*(t+1)=’\0’;或者*(1+t)=’\0’; (2)md=*p-’0’+*q-’0’+cy; (3)if(cy==1)
解析
题干要求将两个长度相等的数字字符串当作两个加数,求其代表的数值之和并以字符串的形式存入r所指内存且返回。指针p指向字符串s1的最后一个字符,指针q指向字符串s2的最后一个字符,指针t指向r+len。
(1)指针变量r存放相加以后的字符串,相加后可能会发生进位(多一位),因此,指针t后面一位用来存放字符串结束标志。这里将“*t=’\0’;”修改为“*(t+1)=’\0’;”或“*(1+t)=’\0’;”。
(2)将指针变量p和q指向的数字字符相加,所以需要减去字符0。这里将“md=*p+*q-’0’+cy;”修改为“md=*p-’0’+*q-’0’+cy;”。
(3)如果cy为1,则加法运算发生进位,指针t的位置存放1。这里将“if(cy=1)”修改为“if(cy==1)”。
转载请注明原文地址:https://kaotiyun.com/show/qRkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列给定程序中,函数fun的功能是:根据以下公式求π值,并作为函数值返回。例如,当给指定精度的变量eps输入0.0005时,应输出Pi=3.140578。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更
有以下程序:#lnclude<stdio.h>structtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+3,17,a};
下面属于整数类的实例是()。
有以下程序:#includeintml(intx,inty){if(x
若有定义 inta,b,c;以下选项中的赋值语句正确的是()。
有以下程序:#include<stdio.h>main(){inta=1,b=2;for(;a<8;a++){b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是()。
以下叙述中正确的是
若有定义:floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是()。
某二叉树中度为2的结点有10个,则该二叉树中有()个叶子结点。
随机试题
下列属于纠问式诉讼的重要特点的是
睫状体又叫睫状突。
A.足以严重危害人体健康B.对人体健康造成轻度危害C.对人体健康造成严重危害,后果特别严重D.对人体健康造成严重危害E.对人体健康造成特别严重危害《最高人民法院、最高人民检察院关于办理生产、销售假药、劣药刑事案件具体应用法律若干问题的解释
《危险化学品安全管理条例》第7条规定,国家对危险化学品的生产和储存实行统一规划、合理布局和严格控制,并对危险化学品生产、储存实行()。《中华人民共和国安全生产法》第41条规定,生产经营单位不得将生产经营项目、场所、设备发包或者出租给不具备()。
小李自韩国回国定居,可以将其持有的100万韩元现金直接存人银行账户。()
家庭的结构模式有()。
爱尔兰有大片泥煤蕴藏量丰富的湿地。环境保护主义者一直反对在湿地区域采煤。他们的理由是开采泥煤会破坏爱尔兰湿地的生态平衡,其直接严重后果是会污染水源。然而,这一担心是站不住脚的。据近50年的相关统计,从未发生过因采煤而污染水源的报告。以下哪项如果为真,最能加
清末颁布的一部过渡性的专门刑法典是()。
Readtheparagraphsinwhichdifferenttopicsarecontained.Forquestion61to65,matchtheparagraphnumbers(61to65)toon
WantedxxxForeignLanguageInstituteisaforeignlanguagestudyinginstitute.NowweareseekingfortwoEnglishteachers.
最新回复
(
0
)