寫C時出了錯誤

Home Home
引用 | 編輯 aaaasszx
2011-08-28 22:27
樓主
推文 x0
請問錯誤在哪
偵錯一直卡住


#include<stdio.h>
#include<stdlib.h>
int main(void)
{ int a;
..

訪客只能看到部份內容,免費 加入會員



獻花 x0
引用 | 編輯 ebolaman
2011-08-29 01:05
1樓
  
修改成底下程式碼即可

複製程式
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),因此之前不管輸入什麼數字都會判斷成 是

獻花 x1
引用 | 編輯 aaaasszx
2011-08-29 10:53
2樓
  
下面是引用 ebolaman 於 2011-08-29 01:05 發表的 : 到引言文
修改成底下程式碼即可
[code]
int main(void)
{
     int a;
.......

謝啦
話說上次VB也是您幫我的
感恩~~

獻花 x0