#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语言代码)浏览:731 |
wu-淘淘的名单 (C++代码)浏览:1279 |
C语言程序设计教程(第三版)课后习题6.8 (C++代码)浏览:547 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:547 |
1908题解浏览:618 |
回文数字 (C语言代码)浏览:2480 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:550 |
妹子杀手的故事 (C语言代码)浏览:907 |
前10名 (C语言代码)浏览:686 |
C二级辅导-统计字符 (C语言代码)浏览:599 |
一块三毛八 2020-09-10 13:50:13 |
能过,有空格就没了,,,只能说审核有待加强。。。。-_-