首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。 例如,字符串数组中的M个字符串为 AAAA BBBBBBB CC 则合并后的字符串的内容应是:AAAABBBBBBBCC。 提示:strc
请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。 例如,字符串数组中的M个字符串为 AAAA BBBBBBB CC 则合并后的字符串的内容应是:AAAABBBBBBBCC。 提示:strc
admin
2019-09-02
46
问题
请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。
例如,字符串数组中的M个字符串为
AAAA
BBBBBBB
CC
则合并后的字符串的内容应是:AAAABBBBBBBCC。
提示:strcat(a,b)的功能是将字符串b复制到字符串a的串尾上,成为一个新串。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
#include<string.h>
#define 1 3
#define N 2 0
void fun(char a[M][N],char*b)
{
}
main()
{char w[M][N]={"AAAA","BBBBBBB","CC"},a[100];
int i ; void NONO();
printf("The string:\n");
for(i=0;i<M;i++)puts(w
);
printf("\n");
fun(w,a);
printf("The A string:\n");
printf("%s",a);printf("\n\n");
NONO();
}
void NONO()
{/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
FILE*rf,*wf;
char w[M][N],a[100];int i;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++) {
fscanf(rf,"%s %s %s",w[0],w[1],
w[2]};
fun(w,a);
fprintf(wf,"%s\n",a);
}
fclose(rf);fclose(wf);
}
选项
答案
int i,j,k=0; for(i=0;i<M;i++) {for(j=0;j<N;j++) if(*(*(a+i)+j)) //如果不指向行的尾 {b[k]=*(*(a+i)+j); //将行中的值赋值给数组b k++;}//数组下标加1 else//如果指向尾,则跳出这一行 break; b[k]=’\0’;}//数组加尾符
解析
(1)二维字符数组第i行j列元素a
[j],就是指针形式的“*(*(a+i)+j)”。因此,如果字符“*(*(a+i)+j)”是串的结束符,则说明该字符串已经结束。
(2)当一维字符数组存放完字符串中各字符后,必须在一维字符数组的尾字符处加一个结束符“’\0’”,才能把字符数组变成字符串。否则,字符数组就只能是非字符串的一般字符数组。
转载请注明原文地址:https://kaotiyun.com/show/hORp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#includevoidfun(char*t,char*s){while(*t!=0)t++;while((*t++=*s++)!=0);}main(){charss[10]="ace",aa[10]="bbxxyy";
有以下程序voidfun(intx,inty,int*C,int*d)D){*c=x+y;*d=x—y;}main(){inta=4,b=3,c=0,d=0;fun(a,b,&c,&d);printf(
以下正确的字符串常量是
C语言中char类型数据占字节数为
下面选项中合法的字符常量是
以下选项中非法的C语言字符常量是
有以下程序main(){inta=1,b=2,c=3,x;x=(a^b)&c;’printf("%d\n",x);}程序的运行结果是
有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是
有下列程序:#includevoidfun(int*a,intn)/*fun函数的功能是将a所指数组元素从大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+1;j<n;j++)if(a[
以下C语言用户标识符中,不合法的是
随机试题
简述醋酸西曲瑞克的临床应用、不良反应及禁忌证。
根据《行政处罚法》的规定,下列关于行政拘留的说法正确的是()。
患者,男性,50岁。既往体健,查体时发现肝右肋下2cm,质硬、无压痛,脾可触及。锌浊度试验20单位,ALT正常范围,肝穿刺活检病理有假小叶形成,应诊断为
苯巴比妥急性中毒时为加速其从肾脏排泄,应采取的主要措施是( )。
根据《执业药师资格制度暂行规定》,执业药师的职责包括
应考虑诊断为下列哪种疾病,最佳治疗应选下列哪一组:
投资决策服务需要解决的问题主要集中在项目的()。
学校中曾被记过的学生因表现好而被撤销了记过,这种做法是()。
WestLondon,Fridaynight,9pm.IntheRedemptionbar,musichumsandcandlesflicker.Abarmanshakescocktailsunderaneons
DearMr.Suzuki,ThegoodswereceivedonJuly15werefoundnottomatchourorder.ThegoodsweorderedwereItemNo.2345
最新回复
(
0
)