1樓:_哆啦a夢
第五題的d
變數的有效域是以{}來分的,比如if();那麼在{}外用i就是非法的,所以不是在本函式範圍內有效。
第二張的程式意思是
從第三個s開始迴圈直到陣列結尾
k=2時c=s,執行putchar()輸出s,continue進入下次for迴圈
k=3時c=w,執行putchar()輸出w,continue進入下次for迴圈
k=4時c=l,執行continue進入下次for迴圈
k=5時c=i,執行++k,break停止switch,執行putchar('*')輸入*,k++進入下次迴圈
由於此次先後有++k,k++分別對k加1所以k=7;c=『\0』for終止程式結束
所以結果是b
2樓:匿名使用者
只在它那個複合語句裡有效
char str="ssswlia",c;//定義字元陣列和字元int k;//整形
for(k=2;(c=str[k])!='\0';k++)//迴圈從k=2 判斷 str[k] 是不是\0 \0代表字串結束
switch(c)//選擇
迴圈第一次 c=str[2];//c就是第三的個字元 s 字串下標從0開始
迴圈第一次 c=str[3];//c就是第三的個字元 w 字串下標從0開始
迴圈第三次 c是l就執行continue;後面不執行繼續迴圈四次 c=i break;退出迴圈
最後加了個*
所以sw*
3樓:
第一張,比如在一個函式中有個迴圈語句for(int i=0;i<10;i++),這個變數只在迴圈中有效, 不是函式內都有效。
第二章:定義了七個元素的字元陣列str,從下標0開始,也就是str[0]=s,str[1]=s....類推str[6]=a,
因為k=2,所以從str[2]是第三個數s,進入switch選擇結構,當這個字元為i時,結束本層迴圈,等於l的時候結束一次迴圈,即執行k+1後繼續判斷,其他情況在輸出那個字元後跳出本次迴圈,所以結果就是sw*
4樓:謎一樣的人
樓上說了第一題,我說第二題,第二題中char陣列是從0開始的,k=2表示第3個字元,所以最多隻有1個s,a選項排除,最後肯定執行putchar('*')所以結尾肯定是* 所以c d選項排除 選擇b
5樓:
d選項是因為宣告不對,第二張不是為你準備的,是為高材生準備的
c語言題,這道題怎麼寫啊,求詳解啊,謝謝
6樓:黃瑞
如果元素的下標不是偶數,並且是小寫字母,那麼變成大寫字母;結果為labced12df
c語言問題求詳解不要只有答案
7樓:匿名使用者
第1題 b
a選項,例:
void f()
int j;
int main()
很明顯 全域性變數j的作用域僅限於main函式區域性變數i作用域為f函式,但main函式中未使用j,實際上j的作用域為無。
c選項 函式的形參都是區域性變數
d選項 auto變數只有呼叫的時候才賦值,呼叫結束就釋放,所以無初值
static變數是靜態變數,程式啟動時就在全域性區分配了空間,而且被初始化為0或者空(null)
第2題 結果是 7
#define max(x,y) (x)>(y)?(x):(y)巨集定義,編譯的時候是直接替換,
t=max(5+2,3+3)*10等效於
t=(5+2)>(3+3)?(5+2):(3+3)*10=> t=7>6?7:60
結果為 7
第3題 結果是 4
int m=10; 定義全域性變數m;
int m=5; 定義了一個區域性變數m,作用域僅在f函式內部兩個m變數地址不同,互不干涉,所以f(6,7)的結果是47,47/10 的結果取整為4。
第4題 結果是 579
static int c=3;定義的是一個靜態變數,它僅在宣告時被首次初始化,即以後的函式
呼叫不再進行初始化,
第一次迴圈f(0)中c的值為4,a+b+c等效於0+1+4=5;
第二次迴圈f(1) 中c的值為5,a+b+c等效於1+1+5=7;
第三次迴圈f(2) 中c的值為6,a+b+c等效於2+1+6=9;
第5題 結果是 2
#define select(a,b) a
printf(「%d\n」,select(2,4))等效於printf(「%d\n」,2<4?2:4);其結果為 2.
8樓:愛豬豬的灰灰
先發前兩題,剩下的等會寫
c語言選擇題一個,求詳解
9樓:半世迷離的沉浮
a 是對的,換行會看的更加清晰。
#define size 10 //把size的巨集定義為10
char str1[size]的意思
就是char str1[10]
char str2[size+2]的意思就是char str2[12]
b,char str;裡面應該要放入具體的容量,比如 char str[10];
c,int num['10']是錯誤的,int num[10]是對的。
d是錯誤的,c語言不允許這種寫法,不允許定義的變數出現在陣列裡,因為變數值的改變,就會導致陣列的破壞,這樣會破壞程式的健壯性。
請教幾道c語言題 求詳解 主要解答我的問題就行,不好意思,題比較多辛苦了,回答得好的話,還有追加獎勵。
10樓:mis_丫
22、答案是1,vs2010下編譯結果是128、fun(&a[2],2)),傳進去的陣列是3,4,5,0,0,0,0,0
30、剛查了下,\x標示16進位制,即\x10 就是 10進位制的16,\xa 就是10進位制的10
32、這只是定義了一個指標,沒有指出指向**,不能賦值35、你題目沒打完吧
38、去看下變數定義規則,首字母不能使數字等,特殊字元不能當變數名等15、輸入abcde,ch=getchar() = 『a』 ,=='e'不成立,故跳出迴圈,應該是0次,vs下測試沒有*輸出
19、vs下執行結果-5
24、如果是2那他只有6個數
11樓:匿名使用者
主要解答我的問題就行,不好意思,題比較多辛苦了,回答得好的話,還有追加獎勵。
12樓:楊志回憶
第一題:是a。
0++x是1
||的運算方式是隻要前面為1,則後面不進行運算,結果肯定唯一++y && ++z這些實質上是沒有執行的語句
13樓:匿名使用者
22 '||'的優先順序比'&&'高,算出++x為真,後面就不計算了
28 fun(&a[2],2) -> 傳經去的陣列為 a[2]開始的兩個值,即為 3,4,求和當然是7
30 『\x』是轉義符號,表示16進位制,跟好面的數字組成一個值,算是一個8bit的字元。
32 陣列只能在變數初始化的時候整體賦值,c是在變數初始化後賦值,要通過字串操作函式如strcpy或者memcpy等來操作。
35 題目沒寫全,f(b, s後面是什麼?
38 只看到3個選項,d在那裡?double 1_d=1.5e2 錯在變數不能以數字開頭
15 看清楚題目「while迴圈體」,注意迴圈體指的是「printf("*")」這一句,只有輸入為e的時候才會執行一次。
19 無解,我執行的結果是 -5
20 c語言語法如此,請看c語言教程。多維陣列的陣列長度是一樣的,a[3]的數字3已經決定了,a[0],a[1]]的長度都是3.
一道c語言陣列的問題,求詳解。
14樓:匿名使用者
d其他定義的問題:
t.c:9:
13: warning: incompatible pointer to integer conversion initializing 'int' with an expression of type 'char [8]' [-wint-conversion]
int a = ;
^~~~~~~~~
t.c:10:22: warning: excess elements in array initializer
int b[4] = ;
^t.c:11:
12: warning: incompatible pointer to integer conversion initializing 'char' with an expression of type 'char [8]' [-wint-conversion]
char c = ;
^~~~~~~~~
三方協議丟了一張,第一張是學校留存,第二張是用人單位留存,第
念憶 已落實就業單位遺失三方協議 1 因單位原因造成就業協議書丟失的,由原單位出具就業協議書丟失證明2 登報宣告,即在當地省級以上報刊刊登三方協議遺失宣告4 提交相關材料 遺失登報報紙 補辦就業協議申請書等 進行補辦。 都市尋幽 如果是去國企或者國家機關的話,需要按流程申報,補發。私企什麼的就不用管...
拍立得拍照,第一張拍出來有影象,再拍五張都是全黑,是新的相紙
23毫升 你是不是把相紙殼開啟了,把相紙盒開啟的話,相機就 了,大部門相紙都會報廢,下次要把整盒放進一起相機的相紙盒的。那樣就不會黑了,滿意採納哦 無敵的澍 我也是這樣,一模一樣啊,我又換了電池,還是不行,都是黑得,你解決了嗎 別說我不懂 新買的?我剛想買的,考慮什麼畫素 像頭好不好的?你那像頭怎麼...
世界第一張紙幣是誰發明的
宋代初期,把後蜀政權所轄地域分為兩川 峽西兩路,亦稱兩川。宋真宗鹹平四年 1001年 把兩路分為四路,即益州 梓州 利州 夔州,合稱川峽四路,簡稱四川路,四川的地域名稱就基本形成了 四川 路本是四個行政單位,為什麼要把它們連起來稱呼呢?這是因為它們同屬於一個完整的經濟區域,因此,在貨幣的使用上它也享...