首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
47
问题
给定程序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全国计算机二级
相关试题推荐
下列叙述中正确的是
以下不能输出字符A的语句是()。(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
以下选项中叙述正确的是()。
数据管理技术发展的三个阶段中,()没有专门的软件对数据进行管理。Ⅰ.人工管理阶段Ⅱ.文件系统阶段Ⅲ.数据库阶段
设数据元素的集合D={1,2,3,4,5},则满足下列关系R的数据结构中为线性结构的是
下列叙述中正确的是()。
定义如下变量和数组:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。for(i=0;i
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是()。
某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)()。
以下选项中非法的字符常量是
随机试题
下列哪些表现符合胃泌素瘤
A厂生产的一批酱油由于香精投放过多,对人体有损害。报纸披露此消息后,购买过该批酱油的消费者纷纷起诉A厂,要求赔偿损失。甲和乙被推选为诉讼代表人参加诉讼。下列哪一选项是正确的?(卷三2008年真题试卷第48题)
某建筑物采用TN-C-S系统供电,建筑物地下室设有与大地绝缘的防水层。PEN线进户后即分为PE线和N线,并打人工接地极将PE线重复接地。变电所系统接地RA和建筑物重复接地RB阻值分别为4Ω及10Ω。各段线路的电阻值如下图所示,为简化计算可忽略工频条件下的回
建筑施工在无外架防护时,必须在离地________米高处搭设一层固定安全平网。()
能量意外释放理论认为,在一定条件下,某种形式的能量能否造成人员的伤害取决于能量大小、接触能量时间的长短和频率,以及()。
某房地产公司因项目建设的需要与某银行签订了《借款合同》,合同中约定房地产公司要定期向银行提供信用信息报告及相关财务会计报表等资料。在合同履行过程中,房地产公司未按合同中的约定提供相应资料并改变了部分借款用途。此时银行可以对房地产公司()。
关于法人单位和产业活动单位关系的下列表述中,正确的是()。
我国第一部以马克思主义观点阐述教育问题的著作是杨贤江的()。
与上个月相比,下列4个月中房地产投资额增加值最大的是()月。
在C语言中,只有在使用时才占用内存单元的变量,其存储类型是()。
最新回复
(
0
)