【发布时间】:2023-03-15 14:59:01
【问题描述】:
当我输入 3 个字符串时,puts 函数不会打印它们。它们包含垃圾。
#include <stdio.h>
#include <stdlib.h>
int main ()
{
char para[20][3];
int x;
for(x=0; x<3; x++)
{
gets(para[x]);
fflush(stdin);
}
for(x=0; x<3; x++)
puts(para[x]);
return 0;
}
【问题讨论】:
-
试试
char para[3][20]; -
1.
gets不再存在(自 C11 起)。 2. 假设你有一个古老的实现,其中gets可用,你不能超过 2 个字符,因为每次调用没有空间(这就是你应该永远使用gets!的原因)。 -
你需要做的,就是把你的学习资源(老师或书本)拿去用火烧掉。然后得到一个更好的。
-
@Adder,是的,但是二维数组包含相同数量的字符,对吧?所以这不应该是一个问题。诚然,字符串可以被截断,但是垃圾?没有。
标签: c for-loop garbage gets puts