Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

vc++問題 幫我看一下哪裡錯 有illegal case

不知道為什麼 我寫出來的switch都有illegal case 而且找不到原因 case '+' 也不能運作 救救我

/**/

#include <stdio.h>

void main()

{

int a[4][4],b[4][4],c[4][4];

int i,j,q;

char select;

for(i=0;i<4;i++)

for(j=0;j<4;j++)

{

printf("請輸入a[%d][%d]:",i+1,j+1);

scanf("%d",&a[i][j]);

}

for(i=0;i<4;i++)

for(j=0;j<4;j++)

{

printf("請輸入b[%d][%d]",i+1,j+1);

scanf("%d",&b[i][j]);

}

do

{

printf("選單\\n");

printf("求兩陣列相加請按'+'\\n");

printf("求兩陣列相減請按'-'\\n");

printf("求兩陣列相乘請按'*'\\n");

printf("離開程式請按'q'or'Q':\\n");

q=scanf(" %c",select);

switch(select)

case '+' :

{

for(i=0;i<4;i++)

for(j=0;j<4;j++)

{

c[i][j]=a[i][j]+b[i][j];

printf("c[%d][%d]=%d",i,j,c[i][j]);

}

break;

}

case '-' :

case '*' :

case 'q' :

case 'Q' :

q--;

break;

}while(q==1);

已更新項目:

謝謝你 illegal case的問題已經解決 但是'+'底下還是不能運作耶 他說不能為written 能不能再告訴我怎麼做 感激不盡

2 個已更新項目:

就是按+的時候他會顯示 記憶體不能為written 該刪的我都刪掉了 該加的也加了 按q也是如此 怎麼修改 煩請告知

3 個已更新項目:

我能說什麼呢 你真是高手呀 我自己都沒看到&沒加 真是目小 最佳解答 就決定是你了

1 個解答

評分
  • 1 0 年前
    最佳解答

    #include <stdio.h>

    void main() {

    int a[4][4], b[4][4], c[4][4];

    int i, j, q;

    char select;

    for (i = 0; i < 4; i++)

    for (j = 0; j < 4; j++) {

    printf("請輸入a[%d][%d]:", i + 1, j + 1);

    scanf("%d", &a[i][j]);

    }

    for (i = 0; i < 4; i++)

    for (j = 0; j < 4; j++) {

    printf("請輸入b[%d][%d]", i + 1, j + 1);

    scanf("%d", &b[i][j]);

    }

    do {

    printf("選單\n");

    printf("求兩陣列相加請按'+'\n");

    printf("求兩陣列相減請按'-'\n");

    printf("求兩陣列相乘請按'*'\n");

    printf("離開程式請按'q'or'Q':\n");

    q = scanf(" %c", select);

    switch (select) {

    case '+':

    for (i = 0; i < 4; i++)

    for (j = 0; j < 4; j++) {

    c[i][j] = a[i][j] + b[i][j];

    printf("c[%d][%d]=%d", i, j, c[i][j]);

    }

    break;

    case '-':

    case '*':

    case 'q':

    case 'Q':

    q--;

    break;

    }

    } while (q == 1);

    }

    2006-12-01 05:17:57 補充:

    {// 拿掉for(i=0;i<4;i++)for(j=0;j<4;j++){c[i][j]=a[i][j]+b[i][j];printf("c[%d][%d]=%d",i,j,c[i][j]);}break;} // 拿掉再來你 switch(select) //少{} {case '+':..... break;case '-':case '*':case 'q':case 'Q':q--;break;}

    2006-12-04 13:00:56 補充:

    q=scanf(" %c",select); // 少&改成q=scanf(" %c", &select);

還有問題?馬上發問,尋求解答。