C語言問題,C語言問題C語言問題

時間 2021-10-15 00:01:04

1樓:匿名使用者

選a首先,空格也是一種字元,b、d選項分別把空格賦給了c1, c1;

其次,c選項不完整,排除;

不僅a這樣,10a20b也是可以的。

2樓:聽不清啊

答案a) 10a 20b< cr>是正確的。

因為scanf("%d%c",...);時,會忽略數字前面的空格,遇到非數字字元就會結束讀取(非數字字元會留待下一次讀取,即被後面的%c讀取)。

3樓:怒過之後

在c語言中,用0開頭的代表該數為8進位制,0x或者0x表示16進位制上述選項中b屬於8進位制,8進位制只有0-7這幾個數字,沒有8,所以b 018是錯誤的。

4樓:爹服

答案是a 因為%d會忽略空白字元直到遇到第一個數字字元,讀取非數字字元的時候會把字元放回緩衝區 %c下次讀取的就是 a 而空格和\n也是會被%c讀取

5樓:匿名使用者

正確的輸入方式是 a,另外還有種正確的輸入是10a20bb)10 a 20 b ,10後空格會被當字元輸入c)少了b

d)中的空格一樣會被當做字元輸入。

6樓:金色潛鳥

正確的輸入方式是: a) 10a 20b (附帶說明:也可以用 10a20b)

輸入格式是 "%d%c%d%c"。 %d讀入一個整型數值,遇到空格或其它非數字字元時結束,問題是緊接著的%c,是讀一個字元,只要是字元,那怕是空白,c1也會讀入。所以拍入 10 a 20 b時,c1讀入的是空格。

類似的, 拍入10a20 b 時,c2 讀入的是空格。

而 c) 10a20的方法 c2 讀入的是 回車鍵,不符合要求。

c語言問題!

7樓:匿名使用者

因為s是一個指向float型別的指標,在初始化的時候,*s=a;所以s指向了陣列a,因為陣列名代表了陣列的首地址,也就是s此刻指向了陣列a的第一個元素a[0],而a[0]==1.1,然而,你呼叫fun(a,b,s),但是在函式fun中並沒有對main()函式中的s指標有任何改變,因為你在func()函式中的s和main()根本就不是同一個,在fun()中的s在沒有呼叫calloc()之前,也是指向a[0]的,但是呼叫calloc()後,func()中的s就指向了一個系統分配的地址,所以改變func()中的s並不會影響到main()中的s。

8樓:匿名使用者

為什麼是21.1?即使沒發現錯誤也應該理解為11.1才是啊……錯誤在於對s的重新賦值。

s作為引數傳給fun,然後fun內部改變了s的值,並寫入新數。

但fun執行完後返回時,main函式裡面的s沒有改變,因為c語言的引數傳遞是傳值的。

結果就是,執行printf所顯示的實際還是a[0],所以顯示1.10修改方法:

1、把calloc放在main裡

2、如果calloc有特別要求不能動,那麼把fun的第三個引數變成 float** s ,其他s對應著修改。

c語言問題c語言問題

9樓:聽不清啊

#include

int main()

;int h,m;

scanf("%d%d",&h,&m);

printf("%s",num[h]);

if(m>0)

}else printf(" o'clock");

printf("\n");

return 0;}

c語言問題 10

10樓:

#include

#define n 10

int delnum(int a,int num,int n){int i,j=0;

/*用j記錄陣列a中不等於num的元

素個數(即需要儲存的元素個數),

邊掃描陣列a邊統計j,並將不等於num的元素向前放置在j位置上,最後修改陣列的長度

*/for(i=0;i

示例執行如下:

11樓:匿名使用者

如果有幾個相同的值都刪除嗎?

關於c語言問題

12樓:砍侃看

我原本以為是3,結果實際跑了一下程式發現結果是5。通過除錯檢視字串變數,顯示的是123\n。為什麼是\n呢,檢視記憶體發現編譯器將字串中的\012解釋成十六進位制的0a,仔細分析一下可知,編譯器將\012當做是一個八進位制的數,轉換成十六進位制就是0a,對照ascii碼錶正是換行符。

所以從執行結果來說的話,應該選b。

13樓:匿名使用者

a.3因為字串以0結尾, 0可以寫成'\0',因此呼叫函式的字串是多個字串,strlen只求取開頭的一個長度.

c語言問題:

14樓:匿名使用者

一、c語言規定總是從main()開始執行的(這個函式也叫“主函式”)。因此,你發來的題目中的(1、6、8)敘述都是錯誤的,都應該選擇f。

二、第2題中,c語言對其資料在記憶體中所佔用的實際位元組數,隨著程式中宣告的資料型別以及資料的多少而變化,c語言本身並沒有明確規定。這題應該選f。

三、第3題,c語言中強制型別轉換,僅對轉換的語句有效,而不會改變所轉換變數的原有資料型別,這是正確的,應該選t。

四、第4題,i=8,j=10;printf("%d,%d,%d,%d\n",i,j,++i,j++);實際上是一個程式執行類題目,執行這一句時,先取得ij變數的值,其中有一個++i(先自增),一個j++(後自增),先自增的i先加上1,也就是i=8+1=9,而後自增的j在列印之後再加1,所以列印時仍是j=10。所以列印出來是:9 10 9 10。

這是正確的。

五、第5題“c語言中放在“”之間的內容都被視為字串的一個構成部分,都可以在螢幕上原樣顯示”的說法是錯誤的。舉一個例子就可以了:print("%d",8);是列印不出來%d的,它只能列印出來8。

所以它是錯的。

六、第7題,設x、t均為int型變數,則執行語句"x = 10;t = x && x >10;"後,t的值為,這個題目好似沒有寫完,成了填空題了,現在來看計算過程,t = x && x >10,根據計算的優先順序,>號是6級,&&是11級,先計算x >10,因為x=10,故x>10是不成立的,所以它的值是0,第二步再計算x && 0=10 && 0=0。t的值最後應該是0。希望對你有所幫助。

15樓:

b?因為由程式已經知道,fun(函式名,即入口地址)賦給了a,所以便可用*a來呼叫fun函式

16樓:匿名使用者

答案是不是ab c和d引數錯了 c不是呼叫的fun

a和b就是函式指標的應用

c語言問題!!

17樓:寂寞無心可愛豬

#include

void main()

else

else

}printf("\n");}}

}增加了對輸入的判斷

18樓:聽不清啊

#include

int main()

return 0;}

19樓:林聲飄揚

#include

int judement(int y);

int main()

return 0;

}int judement(int x)

c語言問題

20樓:匿名使用者

就把q定義為常變數吧:const int p;

或定義指向它的指標:int * p

21樓:匿名使用者

連結串列高階。。。。。。。。

C語言問題,C語言問題

符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...

c語言問題,C語言問題?

char c 好好看書去 小 超 字元型變數 1 字元變數的定義 字元變數只能存放一個字元常量。字元變數的定義形式如下 char c1,c2 2 字元資料在記憶體中的儲存形式及其使用方法 字元型資料在記憶體中以相應的ascii 存放。字元在記憶體佔一個位元組,表示數的範圍從0 127。把字元對應的a...

c語言問題,C語言問題

澄雯賽空 for k 1 k 1 k 中,k 1是設循bai環du的初值,zhik 1是執行循dao環的條件,k 是迴圈的增量回。k 1時,k 1 2,為非0,c語言中,0代表答假,非0代表真。所以,k 1時往下執行迴圈,滿足k 4 列印k的值,即1。break 退出for 迴圈,下面的printf...