兩套代碼輸出的結(jié)果不一樣,求解
#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;
}這個(gè)輸出是平年
#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;
}
這個(gè)輸出是閏年
小白不懂這是為啥啊?
2021-09-16
你的那個(gè)if函數(shù)使用有點(diǎn)問題,應(yīng)該是
而不是
這個(gè)判定函數(shù)不需要加雙引號(hào)的,會(huì)有漏洞,相當(dāng)于判定都成立,即輸出判定成立的結(jié)果,而不是else的判定失敗的結(jié)果。