我发现这段代码运行良好。
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char *argv[])
{
char* s; /* input string */
s=malloc(sizeof(s));
int c;
if(argc==1){ // if file name not given
while (gets(s)){
puts(s);
}
}
}
我不明白的是,字符串 s 是如何存储在内存中的。我只为指针 s 分配内存,它有 4 个字节。现在用户给出的输入字符串存储在哪里?