首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序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
83
问题
给定程序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的功能是:逐个比较P、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“Abed”,则c中的字符串应为“aBcd
以下程序段中,循环次数不超过10的是
有三个关系R、S和T如下:其中关系T由关系R和S通过某种操作得到,该操作为()。
有以下程序#include<stdio.h>voidf(intx[],intn){if(n>1){printf("%d,",x[n-1]);f(x,n-1);}else
下列叙述中错误的是()。
下列数据结构中,属于非线性结构的是()。
在软件设计中不使用的工具是()。
在一棵二叉树上,第5层的结点数最多是()。
以下选项中,合法的C语言常量是()。
在E-R图中,用来表示实体的图形是
随机试题
肾小球的有效滤过压取决于
常染色体显性遗传性多囊肾不存在下列哪项指征
小儿针指
中国A公司向印度B公司发出传真:“购一级天麻200吨,每吨250美元,CIF上海,2005年5月1日至10日装船。”B公司回电称:“接受你方条件,2000年6月装船。”依1980年《联合国国际货物销售合同公约》的规定,B公司的回电属于下列哪项?(
就我国来说,政府经济的基本职能内容的界定,一般包括()方面的内容。
可以改善混凝土拌合物流变性能的外加剂是()。
当一张软盘写保护后,对盘中文件可以进行的操作是()。
2,4,4,6,8,10,14,16,(),()。
因为y=ex在实数域内严格单调增加,又在区间[-2,-1]上1≤-x3≤8,-8≤x3≤-1,所以在区间[-2,-1]上e≤e-x3≤e8,e-8≤ex3≤e-1<e,由定积分的性质知[*]
ThesearetoughtimesforWal-Mart,America’sbiggestretailer.Longaccusedof(1)_____small-townAmericamadcondemnedforth
最新回复
(
0
)