请帮我解决这个问题
我尝试通过char *获取字符串并获取() 它不会给出任何编译时错误但它会引发运行时错误分段错误。 但如果我给予
char * s =“sample”;
工作正常
任何人都可以解释我
int main()
{
char *s,*r;
printf("enter\n");
gets("pavithra");
scanf("%s",r);
printf("%s",s);
printf("%s",r);
return 0;
}
答案 0 :(得分:-1)
#include<stdio.h>
int main()
{
char *s,*r;
printf("enter\n");
gets(s);
scanf("%s",r);
printf("%s\n",s);
printf("%s\n",r);
return 0;
}
原因: 你不能在gets()中初始化字符指针s,函数gets()从用户那里获取一个输入字符串,因此你的代码中没有初始化它。