關於C語言SWICH和CHAR的問題

2022-04-22 10:50:15 字數 698 閱讀 2327

1樓:木子小三

錯在不能給 字元變數 賦 字串常量,而且輸出格式控制裡面,輸出字串為%s.

樓上給出的程式應該也不對,因為 字元陣列 y[ ]是不能整體賦值的,只能初始化的時候整體給初始值,而複製只能對單獨的y[0]......y[10]單獨賦值。但這就太麻煩了。

樓主就不要再用字元變數或字元陣列,直接每個case語句接個printf更好:

比如:case1: printf("monday");break;

#include"stdio.h"

void main()}}

2樓:gis廣益

char y[10]

if (x<1||x>7) printf("輸入錯誤!");

else

}printf("%s",y);

3樓:

y='monday'

y是字元型變數,'monday'是錯誤的,單引號只能表述字元而不是字串。

4樓:匿名使用者

y='monday'這樣的賦值是錯誤的,因為你的y定義為了char(字元型),這種型別只能給她賦值一個字元,而不是一個字串。

5樓:匿名使用者

應該把y定義為字串指標吧,並且在每個case裡面,字串常量應該用雙引號,不能用單引號

C 關於char陣列的問題,關於C char型別陣列長度的問題

可為什麼下標引用超出定義沒有錯誤 因為宣告char陣列的時候,b只是被宣告為指向char陣列第一個地址的指標。用操作符取資料的時候,編譯器看成是首地址向後偏移 char型別的長度 序號 超過了界限之後,至於後邊取到什麼意外資料就不一定了。所以一般需要使用char陣列儲存一個長度為n的字串的時候都宣告...

關於c語言的左移和右移,關於C語言的左移和右移

左移比較簡單,右邊補0 移幾位就補幾個0 左邊丟掉。右移比較複雜,右移分兩種 1 邏輯右移,左邊補0 移幾位補幾位 右邊移出去的丟掉。2 算術右移,左邊補最高位 即原來的最高位是0就補0,是1就補1,因為最高位代表符號,這樣可以保證負數不會變成正數 右邊丟掉。可以定義一箇中間變數暫存要被移出去的位,...

關於C語言,有關c語言的?

什麼都不用學,這就是所謂的要學乘除先學加減中的加減了,他就是最基本的計算機入門課程了。當然,你對於基本的加減乘除做法還是要會,對於英文字母還是要認得,就這樣了。但我還是給你講一點初學者的難點,因為初學者很多東西都不知道,在初學時關鍵要理解到,什麼是變數,資料型別,函式,對於c語言,首先弄懂這三個東東...