C语言 在if和else条件下接收相同的输出,如何解决?



我正试图执行下面的程序,但它给出相同的输出,在if else条件。在输出中,我只得到工作日,即使我给出星期日的值。

#include <stdio.h>
int main(void)
{
char day; 
printf("Enter Day name: n"); 
scanf("%c", &day);
if (day =="sunday"){
printf("Holiday");
}
else{
printf("Working day.");
}
return 0;
}

程序无效。

要输入一个字符串,你需要声明一个字符数组,而不是一个char类型的对象,输入的字符串将存储在那里。例如

char day[10];
printf("Enter Day name: n"); 
scanf("%9s", day);

要比较字符串,需要使用标头<string.h>中声明的标准函数strcmp

#include <string.h>
//...
if ( strcmp( day, "sunday" ) == 0 ){
printf("Holidayn");
}
else{
printf("Working day.n");
}

相关内容

最新更新