C语言改错 字符串的连接? C语言程序改错:以下程序功能是读入两个字符串s1,s2进行连...

\u6539\u9519\u9898,c\u8bed\u8a00,\u5c06\u5b57\u7b26\u4e32b\u8fde\u63a5\u5230\u5b57\u7b26\u4e32a

#include
void main()
{ char a[]="wel",b[]="come";
int i,n=0;
while(!a[n])n++;
printf("n = %d\n",n); //\u7ed9\u4f60\u52a0\u4e2a\u6ce8\u91ca\u7684\u5730\u65b9\uff0c\u6709\u5229\u4e8e\u4f60\u53bb\u67e5\u627e
for(i=0;b[i]!='\0';i++)a[n+i]=b[i];
a[n+i]='\0';
printf("%s\n",a);
system("pause");
return 0;
}

\u6700\u597d\u8fd8\u662f\u4f60\u81ea\u5df1\u53bb\u67e5\u627e\u51fa\u9519\u8bef\uff0c\u8fd9\u4e5f\u662f\u79cd\u80fd\u529b\u7684\u953b\u70bc

\u7b2c\u4e00\u4e2a\u5e94i++,\u7b2c\u4e8c\u4e2aj\u6539\u6210i

  1. 把void strc(char s, char t)中的char s改成char *s。

  2. 把void strc(char s, char t)中的char t改成char *t。

  3. 把while (*t = *s)中的*t改成*t++。

  4. 把while (*t = *s)中的*s改成*s++。



第一个,函数声明,改成char*s,char*t
第二个,函数定义,改法一样,分别加*
第三和第四个
while(*t++=*s++)
各自加一个自加

#include <stdio.h>
void strc(char *s, char *t);
int main(void)
{
char s[80],t[80];
gets(s);
gets(t);
strc(s,t);
puts(t);
return 0;
}
void strc(char *s, char *t)
{
while (*t++ != '\0');
t--;
while (*t++ = *s++)
;
}

#include<stdio.h>
void strc(char *s,char *t); //作了修改
int main(void)
{ char s[80],t[80];
gets(s);
gets(t);
strc(s,t);
puts(t);
return 0;
}
void strc(char *s,char *t) //作了修改
{ while(*t!='\0')t++;
while(*t++=*s++); //作了修改
}



扩展阅读:c#语言翻译器 ... c#截取字符串中的一部分 ... c语言纠错器 ... c语言怎样计算所占字节 ... c语言报错code 0 ... c中怎么定义字符串 ... c txt文件写入和读取 ... c语言怎么定义二维数组 ... c语言截取字符串的某一段 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网