1樓:
你的b字串宣告成了指標,而後面賦值的內容則儲存在程式的常量區,是不允許修改的。
要解決這個問題,把b的宣告改成陣列形式char b = ......
這樣,b的意義是字元型陣列,資料被要求放在棧中,是可寫的記憶體地址,這樣就不會出錯了。
2樓:紫翼魔狼
char *a = "i am a teacher!";
char *b = "you are student!";
如果你使用的是gcc編譯器,這兩句在編譯的時候就會警告,比如:warning: deprecated conversion from string constant to 『char*』 [-wwrite-strings]
如果是字面字串,實際上是const型別的,應該寫成:
const char *a = "i am a teacher!";
const char *b = "you are student!";
也就是說,這種字面字串,也有叫立即數字串的,是不允許修改的;如果你一定要修改,應該使用陣列:
char a= "i am a teacher!";
char b = "you are student!";
你改成陣列再試一下。
3樓:忘記是一種幸福
在前面加上#pragma gcc diagnostic ignored "-wwrite-strings"就可以了
c語言中的問題如圖,求解答
4樓:我是鬼不許嚇我
其實你不需要糾結那麼多,%d是整型(int)的數字(在輸入輸出的時候使用),就是整數,&為取地址,把你輸入的值給a,b,c(把輸入的值跟他們的地址繫結),printf的引號裡的東西是原樣輸出的,你在引號裡打max只會輸出max,引號外面的max對應引號裡面的%d,就是列印max的值(%d就是以整數形式)
c語言問題如圖,求解答 3,4題
5樓:風若遠去何人留
第3題 取決於機器硬體字長,按32位計算, 如圖
輸出為24 16 4
第4題int (*ptr)[5] 指向型別為int,每行五個元素的陣列指標。 ptr為一個單獨的指標變數。
int *ptr[5] 包含五個int*元素的指標陣列。 從ptr[0]到ptr[4] 是五個不同的int*指標
int (*(*ptr)(int *))[5]
一層層來。 最裡面是(*ptr)(int *) 這個是一個函式指標, 返回值為int型, 引數為int*型。
於是 ptr在這裡就是一個型別為函式指標, 每行五個元素的陣列指標。
c語言問題求解答如圖
6樓:科里奧利
你的計算是沒錯的,但是流程有一個地方你沒注意到,比如說,你的a就算出來之後是v,但是這時候,你又做了一個判斷,這個v是大於f小於z的,所以又減了5,成了q,不知道你明白沒有,解決辦法就是,第二個if前面加一個else就好了
滿意請採納
7樓:匿名使用者
排列的規律是按26個大寫字母的順序迴圈,右移二十一位
因此可直接表示為:
(str[k][j]-'a'+21)%26+'a'
如圖,求解答c語言程式問題? 40
8樓:
c語言程式是十分簡單的,和電腦打的交道是很簡單的。只要多學習,就不能很輕鬆的解決c語言問題。
c語言:出現如圖問題。求解答?是不是自增自減只是用於整型?可這該如何改?謝謝
9樓:匿名使用者
把s++改為s=(enum suits)(s+1)吧
10樓:鶴依然
自增自減只適用於整形,還有你的**看不清(⊙o⊙)
C語言題目求解答,C語言程式設計題目。求解答。
執行順序是這樣的,原因 a v1 0 所以 v1 0 if v1 不能執行,執行elsev2 0 所以if v2 不能執行 執行x 1 返回結果 1 先看第一個if語句,因為a 10,b 20,a 接著看b 20確實不等於15,b!15為真,所以也執行該if語句,在接下來看!v1,由於v1 5,v1...
c語言程式設計作業求解答,C語言程式設計作業求解答
9.d 10.c 11.d 12.c 13.b 14.d 15.a.c語言程式設計作業求解答 等 10 16.d 17.b 18.b 19.a 20.b 1.a2.b 3.b4.a d b b a b a a b a a c語言程式設計作業 求解答 20 dbcd 此題有歧意,本意可能讓選c,但在識...
c語言一題,具體解答,c語言兩個問題求解答,一個邏輯運算,一個陣列 第一題希望能詳細一點,網上的都看不懂
p a 1 相當於p陣列從制a 1 開始,p指向a 1 位置x 0 x 0 x 3成立 bai,開始迴圈 y p x p x p 0就是duzhip,y y p 1 a 1 1 4 5 x x 1 x 3成立,繼續迴圈 y p x p x p 1就是 x x 2 x 3成立,繼續迴圈 y p x p...