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語言,首先弄懂這三個東東...