为什么当我输入超过20个字符时,不会显示烫的错误呢?不是已经超出我定义的字符数组长度了吗
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
这是程序是用来给输入的字符串每两个字符之间相隔一个空格用的。
#include<stdio.h>
int main()
{
char *insert(char *s1,char *s2);
char string1[20],string2[60];
char *s1=string1,*s2=string2;
printf("input zifuchuan\n");
gets(s1);
puts(insert(s1,s2));
return 0;
}
char *insert(char *s1,char *s2)
{
int i;
for(i=0;*(s1+i)!='\0';i++)
{
if(*(s1+i+1)!='\0')
*(s2+2*i+1)=' ';
else *(s2+2*i+1)='\0';
*(s2+2*i)=*(s1+i);
}
return(s2);
}