#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++; }
简单的a+b (C语言代码)浏览:528 |
C语言考试练习题_排列 (C语言代码)浏览:1375 |
【绝对值排序】 (C++代码)浏览:721 |
回文数(一) (C语言代码)浏览:812 |
淘淘的名单 (C语言代码)答案错误???浏览:625 |
用筛法求之N内的素数。 (C语言代码)浏览:1390 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:484 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:1001 |
A+B for Input-Output Practice (II) (C语言代码)浏览:1047 |
WU-判定字符位置 (C++代码)浏览:1471 |
一块三毛八 2020-09-10 13:50:13 |
能过,有空格就没了,,,只能说审核有待加强。。。。-_-