我刚刚开始参加C基础课程。今天我遇到了这个问题。
为什么用“ OutputF()”函数输入Y和N会导致直接传递Y和N产生不同的结果?
printf("%d",OutputF(InputF(),InputF()));
printf("%d",OutputF('Y','N'));
这是整个代码:
#include<stdio.h>
char InputF(void) {
char a = getchar();
while (getchar() != '\n');
return a;
}
int OutputF(char Input1,char Input2) {
if (Input1 == 'y' || Input1 == 'Y')
if (Input2 == 'y' || Input2 == 'Y')
return 200;
else
return 300;
else
if (Input2 == 'y' || Input2 == 'Y')
return 400;
else
return 500;
}
int main(void)
{
printf("%d",InputF()));
printf("%d",'N'));
return 0;
}