以下这段代码里,为什么执行一次后,提示再输入的时候,scanf("%c",&ch)不等我输入就执行下一条语句了?
#include<stdio.h>#include<ctype.h>voidchline(charch,inti,intj);intmain(){printf("plsi...
#include <stdio.h>
#include <ctype.h>
void chline(char ch,int i,int j);
int main()
{
printf("pls input a char:");
char ch=getchar();
printf("pls input two number(a<b):");
int i,j;
while (isalpha(ch)&&(scanf("%d%d",&i,&j)==2)&&(i<j))
{
chline(ch,i,j);
printf("pls input a char:");
scanf("%c",&ch);
printf("pls input two number(a<b):");
}
printf("inputs valid.\n");
return 0;
}
void chline(char ch,int i,int j)
{
for(int a=0;a<i;a++)
printf(" ");
for(int b=0;b<(j-i);b++)
printf("%c",ch);
printf("\n");
}
scanf("%c",&ch);将这个写成scanf(" %c",&ch);就可以等待我继续输入了,也就是%c前多了空格,为什么啊?这个空格的意思是什么? 展开
#include <ctype.h>
void chline(char ch,int i,int j);
int main()
{
printf("pls input a char:");
char ch=getchar();
printf("pls input two number(a<b):");
int i,j;
while (isalpha(ch)&&(scanf("%d%d",&i,&j)==2)&&(i<j))
{
chline(ch,i,j);
printf("pls input a char:");
scanf("%c",&ch);
printf("pls input two number(a<b):");
}
printf("inputs valid.\n");
return 0;
}
void chline(char ch,int i,int j)
{
for(int a=0;a<i;a++)
printf(" ");
for(int b=0;b<(j-i);b++)
printf("%c",ch);
printf("\n");
}
scanf("%c",&ch);将这个写成scanf(" %c",&ch);就可以等待我继续输入了,也就是%c前多了空格,为什么啊?这个空格的意思是什么? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询