别鄙视我~实在没辙

MccFeng 2011-06-04 09:55:50
int main()
{
char str[10][20];int n,i;
scanf_s("%d",&n);
for(i=0;i<n;i++)gets(str[i]);
for(i=0;i<n;i++)puts(str[i]);
}
想为二维数组str的前n个一维数组输入字符串,可为什么我输入n=4;却只能输入三个?
...全文
57 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
就想叫yoko 2011-06-04
  • 打赏
  • 举报
回复
你输入4的时候
缓冲区里还有一个回车
给了第一次的gets
#include <stdio.h>

int main()
{
char str[10][20];int n,i;
scanf_s("%d",&n);
getchar();
for(i=0;i<n;i++)
gets(str[i]);
for(i=0;i<n;i++)
puts(str[i]);
}
飞天御剑流 2011-06-04
  • 打赏
  • 举报
回复
打漏了个t:

while( getchar( ) != '\n' );

顺便鄙视一下自己
飞天御剑流 2011-06-04
  • 打赏
  • 举报
回复
scanf_s("%d",&n);
while( gechar( ) != '\n' ); /*这里加一句把缓冲中的\n和其它垃圾清除掉
for(i=0;i<n;i++)gets(str[i]);


末了还是要说一句:鄙视你:)

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧