在C中读取一个字符串

Pri*_*til -6 c

我想读一个名字并打印出来.但是控件不会等我输入名称并直接打印出一些无意义的字符输出.

#include <stdio.h>
using namespace std;

int main() {
    char name[20];
    printf("Enter name: ");
    scanf("%s", name);
    printf("Your name is %s", name);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这里有什么错误吗?

Ove*_*404 5

在C这一行:

using namespace std;
Run Code Online (Sandbox Code Playgroud)

不存在.

这是你的代码:

#include <stdio.h>

int main() {
    char name[20];
    printf("Enter name: ");
    scanf("%19s", name);
    printf("Your name is %s", name);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

提示:假设您的缓冲区为20,请使用scanf("%19s", name);以防止缓冲区溢出.

  • 现在下一个问题可能是"如何使`scanf()`接受空格?" (4认同)