gpt4 book ai didi

c++ - 获取 put 和 fflush

转载 作者:行者123 更新时间:2023-11-30 21:11:18 25 4
gpt4 key购买 nike

请解释输入的字符串长于指定大小时的输出

#include<stdio.h>

int main()
{
char name[21],address[31];
puts("enter a name(max 21 characters)");
gets(name);
fflush(stdin);
puts("enter an address(max 31 characters)");
gets(address);
fflush(stdin);
puts("your name is:");
puts(name);
puts("Your address is:");
puts(address);
return 0;
}

最佳答案

当您输入的大小超过要求的大小时,由于 gets 不检查边界,您会得到未定义的行为,并且过多的字符可以(或不能,未定义的行为)写入保留字符后面的空格中。您应该在 C 中使用 fgets(具有边界检查),在 C++ 中使用 std::getline。

关于c++ - 获取 put 和 fflush,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24530790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com