【发布时间】:2021-07-03 15:29:59
【问题描述】:
我有以下程序,它比较三个字符并输出它们的比较。
当我运行程序时,每当我输入三个整数时,只有最后一个 else(所有首字母都不同)语句在其条件下正确运行。但是,对于其他条件,只有最后一个 else if(第一个和最后一个首字母相同)运行。添加花括号后我也检查了它,但没有任何改变。
#include<stdio.h>
#include<stdlib.h>
int main()
{
char ch1, ch2, ch3;
printf("Enter 3 character values into ch1, ch2, and ch3: ");
scanf("%c%c%c", &ch1, &ch2, &ch3);
if(ch1==ch2)
{
if(ch2==ch3)
printf("All initials are the same!\n");
else
printf("First two initials are the same!\n");
}
else if(ch2==ch3)
{
printf("Last two initials are the same!\n");
}
else if(ch1==ch3)
{
printf("First and last initials are the same!\n");
}
else
{
printf("All initials are different!\n");
}
system("pause");
return 0;
}
【问题讨论】:
-
程序正在比较 3 个字符,而不是 3 个整数。
-
好的,谢谢。这只是一个写作错误。
-
好的,那么您的输入、预期输出和实际输出是多少?
-
哇。我不知道 if(或者甚至您认为与 which 相配)还有哪些其他情况 - 这几乎可以肯定是格式化您的代码将有助于找到问题的情况!
-
您的代码对我来说很好......只要我不在输入的字母之间放置任何空格。如果这样做,则空格将被读取为输入字符。
标签: c if-statement dev-c++