C 而循环未按预期工作。代码未完全执行
我已经开始了一门C编程的课程,我必须建立一个计算你输入的字符数的程序。应该是A-Z,0-9,A-Z。我制作了这个程序,如下图和所附的屏幕截图所示,但我无法键入多个字符。 正如您所见,我首先尝试使循环转到数字,但在第一次输入之后,它将不会转到下一个“scanf”C 而循环未按预期工作。代码未完全执行,c,C,我已经开始了一门C编程的课程,我必须建立一个计算你输入的字符数的程序。应该是A-Z,0-9,A-Z。我制作了这个程序,如下图和所附的屏幕截图所示,但我无法键入多个字符。 正如您所见,我首先尝试使循环转到数字,但在第一次输入之后,它将不会转到下一个“scanf” #包括 int main() { 字符输入; int contorMAJ=0,contorMIN=0,contorNR=0; printf(“键入字符(0-9,a-z,a-z):”; scanf(“%c”,&input); while(
#包括
int main()
{
字符输入;
int contorMAJ=0,contorMIN=0,contorNR=0;
printf(“键入字符(0-9,a-z,a-z):”;
scanf(“%c”,&input);
while(input>=48&&input=65&&input=97&&input=48&&input您在while循环中有一个return语句。它应该在while循环下吗?您将只通过循环一次。尝试此代码
#include <stdio.h>
//#include<conio.h>
int main()
{
char input,x;
int contorMAJ = 0, contorMIN = 0 , contorNR =0;
printf("Type a character(0-9,a-z,A-Z): ");
//scanf("%c",&input);
input=getchar();
while(input>=48 && input<=57 || input >= 65 && input <= 90 || input >= 97 && input <= 122 )
{
getchar();
// scanf("%c",&x);
if(input>=48 && input<=57)
{
printf("Type another character(0-9,a-z,A-Z): ");
contorNR++;
}
input=getchar();
//scanf("%c",&input);
}
return 0;//`enter code here`
}
#包括
//#包括
int main()
{
字符输入,x;
int contorMAJ=0,contorMIN=0,contorNR=0;
printf(“键入字符(0-9,a-z,a-z):”;
//scanf(“%c”,&input);
input=getchar();
当(input>=48&&input=65&&input=97&&input=48&&inputIn)添加到nicomp答案中提到的return
语句中时,字符扫描将包括新行字符(ASCII代码为10),这将使您在键入2+Enter后的控制条件变为错误。调试器…………是的,我太笨了。更新代码@CodreanuGeorge有时所需的只是另一双眼睛。我认为这是编程的一部分。您的代码工作得很好。但是如果我可以问您,当\n进入输入时,它会改变吗变量的值?我真的不明白为什么它不符合条件。我尝试了一个快速测试,输入2作为字符,当我显示为整数时,它仍然是50(2的ascii码)。当您第一次在输入中读取字符并按enter键时,…当您按输入键时,输入变量包含\n
…当输入包含\n
时,while循环中的条件将失败…程序将第一次移出for循环
…它给出了如下权利:您已经在示例中给出了…但是在循环中,流运行得很快…这就是为什么\n
下次进入输入。
#include <stdio.h>
//#include<conio.h>
int main()
{
char input,x;
int contorMAJ = 0, contorMIN = 0 , contorNR =0;
printf("Type a character(0-9,a-z,A-Z): ");
//scanf("%c",&input);
input=getchar();
while(input>=48 && input<=57 || input >= 65 && input <= 90 || input >= 97 && input <= 122 )
{
getchar();
// scanf("%c",&x);
if(input>=48 && input<=57)
{
printf("Type another character(0-9,a-z,A-Z): ");
contorNR++;
}
input=getchar();
//scanf("%c",&input);
}
return 0;//`enter code here`
}