输入一个字母然将所输入的字母在次输出,如果输入的不是字母则提示错误并从新输入!
错在那里请大家帮帮我,我想死
[B][B]#include ”stdio.h”
main()
{
char a;
int i;
int j;
clrscr();
printf(“\n\n\n\n\n\n please input !\n”);
for(i=0;i<5;i++)
{
getchar(a);
j=1;
while(j)
{
if((a<’a')||(a>’z'))
{
printf(“error please input again!\n”);
getchar(a);
j=1;
}
else
{
printf(“%c”,a);
j=0;
}
}
}
}[/B][/B]
>> 本文固定链接: http://www.vcgood.com/archives/1582
用数组不行吗?
1.我觉得应该用bioskey函数而不是getchar
2. if((a<’a')||(a>’z'))
有问题,应该是if((a<’A')||(a>’z'))
3.楼主的循环有点复杂,虽然好像没什么问题
你按回车,也算一个字符,,,所以你的会出错!!!
#include<stdio.h>
#include <conio.h>
void main()
{
char a;
int i;
int j ;
void clrscr();
printf(“\n\n\n\n\n\n please input !\n”);
for(i=0;i<5;i++)
{
a = getchar();
fflush(stdin);
j=1;
while(j)
{
if((a<’a')||(a>’z'))
{
printf(“\n error please input again!\n”);
a = getchar();
fflush(stdin);
j=1;
}
else
{
printf(“%c \n”,a);
j=0;
}
}
}
}