void loop(char * a){
for(int i=0;i<10;i++){
printf("%s\n", a);
}
}
int main(){
char str[] = "";
printf("input:");
scanf("%[^\n]s", str);
loop(str);
return 0;
}
There's nothing wrong when I input short string, but the problem is that when I input longer string.
For example,
input:abcdefghijkl
abcdefghijkl
abcdefghijkl
abcdefghijkl
abcdefghijkl
abcdefghijkl
abcdefghijkl
abcdefghijkl
abcdefghijkl
abcdefghijkl
abcdefghijkl
input:
abcdefghijklm
abcdefghijklm
abcdefghijklm
abcdefghijklm
abcdefghijklm
abcdefghijklm
abcdefghijklm
abcdefghijklm
abcdefghijklm
abcdefghijklm
abcdefghijklm
exited, segmentation fault
Why does this error occur? Is this related to buffer overflow?