兩套代碼輸出的結果不一樣,求解
#include <stdio.h>
int main()
{
? ? int year = 2014;?
? ? int a;
? ? a=year%4;
? ? if ("a!=0")
? ? {
? ? ? ? printf("%s\n", "今年是平年");
? ? }
? ? else
? ? {
? ? ? ? printf("%s\n", "今年是閏年");
? ? }
? ? return 0;
}這個輸出是平年
#include <stdio.h>
int main()
{
? ? int year = 2014;
? ? int a;
? ? a = year%4;
? ? ? ? if ("a==0")
? ? ? ? {
? ? ? ? ? ? printf("%s\n", "今年是閏年");
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? printf("%s\n", "今年是平年");
? ? ? ? }
? ? return 0;
}
這個輸出是閏年
小白不懂這是為啥?。?/p>
2021-09-16
你的那個if函數使用有點問題,應該是
而不是
這個判定函數不需要加雙引號的,會有漏洞,相當于判定都成立,即輸出判定成立的結果,而不是else的判定失敗的結果。