修改成底下程式碼即可
複製程式
int main(void)
{
int a;
printf("輸入你信用卡前兩碼來測試是不是Visa的\n");
scanf("%d",&a);
if (a==45||a==46)
printf("你是Visa的");
else
printf("你不是Visa的");
system("pause");
return 0;
}
錯誤的地方:
(1)
pruntf >>
printf(2)
if (a=45,46); >>
if (a==45||a==46)if 判斷句子後面不可以加 ; C++中的 ; 是給編譯器判斷結束的地方,不像 VB 是以換行符號,不過既然前面已經偵測到 if ,那就不用多說,因為判斷的式子已經被括號 () 給夾住了,因此不用麻煩加上 ; 給編譯器知道
(3)
a=45,46 >>
a==45||a==46= 符號是指定的用法,如果要判斷某個東東 是不是 某個西西,要用兩次等於 ==
而可以加上 || (只要值不是 0 的都當成 True) 這是 Or 的用法,其實這邊也可以用 | (這是二進位的用法)
還有原本的打法 if(a=45,46) 整個會傳回 a 也就是 45 因為括號內先指定 a 的值是 45,然後整個括號再傳給 if 的值就是 45
也就當成成立 (True),因此之前不管輸入什麼數字都會判斷成 是