#include<stdio.h> #include<string.h> void mystrcat(char s1[],char s2[]); int main(void) { char s1[100]; char s2[100]; scanf("%s%s",s1,s2); mystrcat(s1,s2); printf("%s",s1); return 0; } void mystrcat(char s1[],char s2[]) { while(*s1)s1++; while(*s1++=*s2++); }
0.0分
11 人评分
这样好像也行 #include<stdio.h> int main() { char a[100],b[100]; scanf("%s%s",a,b); printf("%s%s",a,b); return 0; }
while(*s1)s1++; while(*s1++=*s2++); s1是数组各个元素地址,*s1是元素的值. while(*s1)s1++; 中s1++是地址一直++,直到*s1为0(也就是字符串末尾) 此时s1指向字符串末尾 同理 while(*s1++=*s2++);就是把s2的元素++,然后赋值给s1++
s1++; 数组名可以自增吗?
#include<stdio.h> char x[1000],y[1000]; void main(void){ int L,LL; void QQ(int,int); scanf("%s%s",&x,&y); L=strlen(x); LL=strlen(y); QQ(L,LL); x[L+LL-1]='\0'; printf("%s\n",x); } void QQ(a,b){ int m=0,i; for(i=a;i<a+b;i++){x[i]=y[m];m++;} } //这个提示错误,我找不到原因,难道字符里的空格也要算吗?
while(*s1)s1++; while(*s1++=*s2++); 大佬,可以解释一下吗?
aaa 2020-04-03 17:54:35 |
for(i=n;i<n+m;i++){ a[i]=b[j]; j++; }
C语言训练-邮票组合问题* (C语言代码)......浏览:680 |
点我有惊喜!你懂得!浏览:1385 |
C语言考试练习题_保留字母 (C语言代码)浏览:633 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:580 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:563 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:548 |
WU-输入输出格式练习 (C++代码)浏览:1121 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:731 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:530 |
1197求助浏览:661 |
一块三毛八 2020-09-10 13:50:13 |
能过,有空格就没了,,,只能说审核有待加强。。。。-_-