c语言中for与gets()函数问题
#include<stdio.h>#include<string.h>intmain(){inty,n,x,i,j;charstr[1000];scanf("%d",&n...
#include<stdio.h>
#include <string.h>
int main()
{
int y,n,x,i,j;
char str[1000];
scanf("%d",&n);
for(i=0;i<=n;i++)
{
gets(str);
//scanf("%s",str);
x=strlen(str);
for(y=x-1;y>=0;y--)
printf("%c",str[y]);
printf("%d\n",i);
}
return 0;
}
为什么在第一次循环中,gets()函数不能读取字符串? 展开
#include <string.h>
int main()
{
int y,n,x,i,j;
char str[1000];
scanf("%d",&n);
for(i=0;i<=n;i++)
{
gets(str);
//scanf("%s",str);
x=strlen(str);
for(y=x-1;y>=0;y--)
printf("%c",str[y]);
printf("%d\n",i);
}
return 0;
}
为什么在第一次循环中,gets()函数不能读取字符串? 展开
展开全部
#include<stdio.h>
#include <string.h>
int main()
{
int y,n,x,i,j;
char str[1000];
scanf("%d",&n); //这句执行完后,缓冲区内还有个回车符
//fflush(stdin); //清空缓冲区,加这句可避免
for(i=0;i<=n;i++)
{
gets(str); //gets 遇回车返回,str 是空字符串。在想避免,清空缓冲区
//scanf("%s",str);
x=strlen(str);
for(y=x-1;y>=0;y--)
printf("%c",str[y]);
printf("%d\n",i);
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询