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 ...