If(...&&...||...)
if(age < 12) ...
if(age > 12 && age < 60) ...
if(age > 60) ...
if(age < 12 || age > 60) ...
常見錯誤:
Ans
1.
if(12 < age < 60) ...
數學與電腦寫法不同
改正: if(age > 12 && age < 60) ...
2.
if(age < 12 || > 60) ...
欠變數名稱 age
改正: if(age < 12 || age > 60) ...
3.
if(age>60); printf("...");
if中間不要加(;)分號
改正: if(age>60) printf("...");
4.
if(age<12 && age>60) ...
沒可能
改正: if(age < 12 || age > 60) ...
5.
if(age = 12) ...
賦值(age=12);比較(age==12)
改正: if(age==12) ...
6.
if(age > 12 || age < 60) ...
等同: if(1) ...
改正: if(age>12 && age<60) ...
7.
if(ans=='y' && ans=='n')
puts("ok");
沒可能
改正: if(ans=='y' || ans=='n') puts("ok");
8.
if(ans!='y' || ans!='n')
puts("error");
任何輸入都正確
改正: if(ans!='y' && ans!='n') puts("error");
9.
scanf("%c",&ch);
if(ch=='a'||'b'||'c'||'d')...
改正: if(ch=='a' || ch=='b' || ch=='c' || ch=='d') ...
改正: if(strchr("abcd",ch) != NULL) ...