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語言問題
include void main 最後輸出 1 2 2 3 cca 2,b 2,c 4 2.設計一個程式 計算0xaf 01234567,字元 a 的ascii碼值 十進位制 是多少,101 代表的字元是什麼,32678 1的準確結果是多少,1.456e6 35的準確結果是多少,12345 6的準...
C語言問題,C語言問題
符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...
c語言問題,C語言問題?
char c 好好看書去 小 超 字元型變數 1 字元變數的定義 字元變數只能存放一個字元常量。字元變數的定義形式如下 char c1,c2 2 字元資料在記憶體中的儲存形式及其使用方法 字元型資料在記憶體中以相應的ascii 存放。字元在記憶體佔一個位元組,表示數的範圍從0 127。把字元對應的a...