求解一道c語言題目,求詳細解釋答案4怎麼來的

2022-12-26 23:56:03 字數 4669 閱讀 5250

1樓:心心碎夢

目的:題目意思是求字串變數 t中是否存在變數c的值即是否存在字元"a",如果存在則輸出"a"在字串t中的索引位置,如果不存在則輸出-1。(空格也算一個索引位置)

方法:題目利用for迴圈遍歷字元陣列t中的每一個元素變數n---------存放字元陣列t的長度。

變數k---------存放迴圈次數。

變數j----------存放字元"a"在陣列中的索引位置。

結果:迴圈從索引0 開始,也就是判斷第一個字元"y"=="a",明顯是不等於的,所以繼續判斷,"o"=="a"結果也是不等於的,直到判斷到索引為4,"a"=="a"條件滿足,結束迴圈。輸出j=4。

不知道夠詳細沒有。

一道c語言填空題,程式沒看懂 求詳細解釋!

一道c語言的題目,求詳細解釋*pa與pa的區別

2樓:匿名使用者

這裡涉及的主要是對指標的理解;

首先宣告四個變數,兩個int型別的變數,兩個int *型別的變數;int型別的變數儲存的是int型別的值,int *型別的變數儲存的是一個地址,這個變數可以儲存一個int型別的地址,而這個int型別的地址裡面毫無疑問儲存的是一個int型別的值。

int *pa=&a,可分解成:

int *pa;

pa = &a;//把a的地址賦給pa

這樣pa這個指標就指向了變數a的地址;

* 是一個解引用符,在這裡,*pa就是指標pa所指向的記憶體當中儲存的變數;也就是說這時*pa與a是等價的。

pb與b的關係也是一樣的;

現在就很清楚了:

*pa=3;//往a這個變數裡存3

*pb=4;//往b裡存4

a=5;//往a裡存5

b=6;//往b裡存6

pb=pa;//pb這個指標指向變數a的地址*pa + *pb;//就是a + a,並且此時a = 5答案自然是 a

3樓:匿名使用者

答案為a、10

你迷惑的可能是這裡:

int *pa=&a,*pb=&b;

其實這個相當於:

int *pa,*pb;

pa = &a;

pb = &b;

這個是初始化的地址賦值模式,和指標正常賦值語句*pa=a是不一樣的。

4樓:匿名使用者

#include

void main()

/*a、10 b、11 c、12 d、7*//*其實我沒看懂,試過只後才知道結果是什麼*/a=5,b=6

pa=0012ff7c,pb=0012ff78*pa=5,*pb=6

a=5,b=6

pa=0012ff7c,pb=0012ff7c*pa=5,*pb=5

10press any key to continue

c語言的題目,求詳細解釋啊,**等!

5樓:匿名使用者

答案是 japan korea

理由:str[3][6]是一個二維陣列,可以看成是 以str[6]為元素的陣列,大小為3。

str[1] 就是 字串「japan」

str[1][5]就是"japan"的第六個字元,也就是「\0」,即字串結束符

賦值語句把這個位置的字元改成了空格『 』 ,所以當讀取字串str[1]的時候,計算機一直要讀到結束符「\0」為止,因此會一直把下一個字串的內容也讀出來。

在記憶體中存放的順序就是

原來是: china\0

japan\0

korea\0

賦值以後:china\0

japan

korea\0

輸出str[1]的時候從j開始讀取內容一直到\0,因此得出結果japan korea

6樓:匿名使用者

str[3][6]=;

str如下

0 1 2 3 4 5

0 c h i n a \0

1 j a p a n \0

2 k o r e a \0

str[1][5]的值本來是'\0',是一個字串的結尾的標誌,被你修改成空格(空格不是'\0'),所以輸出str[1]就是japan這一行的時候,函式找不到字串結尾標誌,就一直讀下去,直到找到korea後面的'\0',輸出結束

7樓:

輸出內容為:japan korea

解釋:原來str[1][5]的值為'\0',也就是字串的結束符。加上這個語句str[1][5]=' ',就把為'\0'改成了' ',這樣輸出的就是japan korea了。

如果沒有str[1][5]=' '這個語句,則printf("%s\n",str[1]);輸出的內容為:japan

8樓:

樓上的解析得太對了,太詳細了!

求解一道c語言題目 請詳細解釋一下怎樣輸入輸出多組資料。謝謝!

9樓:與子如初見

#include

int main(void)

};int i=0,j=0,k=0;

int temp;

for(i=0;i<6;i++)

}for(i=0;i<6;i++)}}

}for(i=0;i<6;i++)

printf("\n");

}return 0;}

10樓:匿名使用者

多個一維陣列輸入或者二維陣列輸入,結構體等等也可以

一道c語言題,求解!想不出來,要詳細的解釋過程 50

11樓:匿名使用者

第一步要確認方向,如(6,0)在(4,3)的右上方,則如果從(4,3)出發,保證最短路徑只能向右或者向上移動;

第二步要確認移動次數,繼續以上面的例子說明,要向右移動6-4為2次,要向上移動4次,每次都可以隨機選,直接遍歷所有情況

第三步就是遍歷方法:要實現感覺得用巢狀函式

12樓:匿名使用者

參考一下

這個

13樓:匿名使用者

用兩個點座標來確定走的兩個方向

然後讓他排列組合一下就好了

c語言一道求程式執行結果題,一直看不懂,求大蝦詳細解釋下!謝謝了!

14樓:匿名使用者

tt(int *a,int *b)

while(r); //迴圈執行的過程:

// x=y=36; y=r=28; r=x%y=36%28=8(36除以28的餘數); r不等於0,繼續迴圈

// x=y=28; y=r=8; r=x%y=28%8=4; r不等於0,繼續迴圈

// x=y=8; y=r=4; r=x%y=8%4=0; r等於0,結束迴圈

*a/=y; // 即u/=y; u=28/4=7*b/=y; // v/=y; v=36/4=9}main()

15樓:匿名使用者

dowhile(r);

輾轉相除法 得到x和y的最大公約數 y (此處y= 4)tt(int *a,int *b) 形參為指標tt(&u,&v); 將存放ū和v的記憶體地址作為實參傳出

16樓:狼族遺孤

沒有標頭檔案也可以執行?

c語言題目2道,求詳細解釋

17樓:

#include

#define pi 3.14159

/*圓的面積是圓周率*r*r,周長為圓周率*2*r,圓球體積為4/3*圓周率*r*r*r,圓柱體積為圓周率*r*r*h,圓球表面積為4*圓周率*半徑的平方*/

main() 2.

#include

main()

18樓:匿名使用者

分少了點哦,大哥,,唉,還是幫你試試看,

#include

float r,h;

printf("請輸入圓半徑,圓柱高:");

等下,再想下

19樓:匿名使用者

我學的是c++,不好意思,有點區別

20樓:匿名使用者

就是數學題啊,考你的是其實就是scanf()和printf()函式,相信自己,想一會就做出來了!!

c語言的一些題目:不太理解**,求詳細解釋,手寫部分看不懂 10

21樓:

首先main()是主函式,通俗來說就是一個程式的入口,只能先執行main函式。

而題中的fun在main中被呼叫了,並且傳入的引數值是500從題目中得知,需要取 被13或17整除的數字下圖紅框可知,k就是那個除數,也就是500,所以int fun括號中輸入的應該是k

所以填入int k

最後題目要求最大十個,我也懶得說了

22樓:匿名使用者

main是主函式,fun是呼叫函式,按照這個思路去看就能明白了

求解釋一道C語言檔案題目,一道c語言填空題,程式沒看懂 求詳細解釋!

1 輸出的結果為 123456 2 分析 void main fp fopen d3.dat wb fwrite a,sizeof int 3,fp 把陣列a的前三個元素寫入檔案 fseek fp,sizeof int 3,seek set 把檔案指標從檔案頭開始向後移動12位元組 fread a,...

一道c語言題目,一道C語言題目

就是個斐波那契數的列遞迴解法啊,k項 k 1項與k 2項的和。你可以函式慢慢算。fib 0 0,fib 1 1,fib 1 1,fib 3 fib 1 fib 2 0,1,1,2,3,5,8,13.fib 7 fib 6 fib 5 fib 5 fib 4 fib 4 fib 3 fib 4 fib...

一道c語言的小題目跪求解答,一道C語言的小題目,跪求解答!

問題在於表示式c getchar n 注意這裡的的括號 c getchar n 本質上是把子表示式getchar n 的值賦給變數c,換而言之c的值必然是表示式getchar n 注意,這裡子表示式getchar n 是一個關係表示式,即判斷輸入的字元是否是 n 也就是說其值不是真 1 就是假 0 ...