我写了以下内容:
#include <stdio.h>
#include <string.h>
char* getString();
char* getString(){
    char str[10];
    gets(str);
    return str;
}
int main() {
    char* s;
    s=getString();
    strcpy(s,"Hi");
    puts(s);
    return 0;
}
我知道 的长度str必须小于 10,但即使我只写了“Hi”,也没有打印任何内容。据我看,应该没问题。编译器这么说fgets is dangerous and should not be used。
屏幕上什么都没有打印的原因是什么?