如何避免运行后“烫烫……”的出现
各位高手好,我的一个小程序,提前输入时不能预测具体字符数组长度是多少,所以运行后总是出现“烫烫……”,请问如何避免这种情况出现?
#include<stdio.h>
#include<string.h>
void main(void)
{
char s1[80],s2[10];
int i,j=0,x;
gets(s1);
gets(s2);
x=strlen(s1);
for(i=x;s2[j]!='\0';i++)
{
s1[i]=s2[j];
j++;
}
puts(s1);
}
[解决办法]
#include<stdio.h>#include<string.h>int main(void) { char s1[80],s2[10]; int i,j=0,x; gets(s1); gets(s2); x=strlen(s1); for(i=x;s2[j]!='\0';i++){ s1[i]=s2[j]; j++; } s1[i] = '\0'; // s1末尾加个字符串结束符 puts(s1);}
[解决办法]
#include<stdio.h> #include<string.h> void main(void) { char s1[80],s2[10]; int i,j=0,x; gets(s1); gets(s2); x=strlen(s1); for(i=x;s2[j]!='\0';i++) { s1[i]=s2[j]; j++; } s1[i]='\0';//加上这句试试 puts(s1); }