#include<stdio.h> int main(){ char str1[30]={"I am "}; char str2[20]={"good student"}; int i,j; for(i=0,j=0;i<30;i++) { if(str1[i]==0) { str1[i]=str2[j]; j++; // if(str2[j]==0) // break; } } for(i=0;i<30;i++) printf("%c",str1[i]); printf("\n"); return 0;}
1 回答
慕用4063026
TA贡献195条经验 获得超115个赞
#include<stdio.h> int main() { char str1[]={"I am "}; char str2[]={"good student"}; int i,j; for(i=0,j=0;i<(sizeof(*str1)+sizeof(*str2));i++)//这个位置用sizeof求大小 { if(str1[i]==0) { str1[i]=str2[j]; j++; } } for(i=0;i<30;i++) printf("%c",str1[i]); printf("\n"); return 0; }
输出:I am good student
判断写的不够精确,有漏洞啊,才会多出一些字符
- 1 回答
- 0 关注
- 1153 浏览
添加回答
举报
0/150
提交
取消