1樓:
[1]q=p——用if(max<*p) q=p;判斷最大字母並把其地址存入q。
[2]p>str——前面有p=q;使p為最大字母的地址,所以用p>str判斷是不是到了陣列的最前面即下標為0的位置;沒有到則*p=*(p-1)將前一個字母向後移一位。
[3]p--——不到聞前面的位置則p--將p向前移一位,直到p==str時結束迴圈進入下一句*p=max,把最大的字母放到下標為0的位置上。
2樓:七琪淇
char str[80], * p, max, * q; // p用來遍歷字元陣列,max記錄最大字元,q以指標的形式記錄最大字元對應的位置,str表示字元陣列的名字
p = str; // p初始化指向陣列的首個字元
gets(p); // 從鍵盤讀入字元,存放在str中
max = *(p++); // max初始化為首個字元,然後p移動到第二個位置
while (*p != '\0') // 找到終止符停止
p++; // 判斷完後 移到下一個字元
}p = q; // 把max所在位置記錄到p上
while (p > str) //把max之前的字元往後移一個位置,依次從max的位置移動到第2個位置結束。從後往前移動
*p = max; // 跳出迴圈後p就在第一個位置,第一個位置存放最大值
puts(p); // 輸出顯示
return 0; // 退出主函式
另外,題目有點小問題就是沒有初始化指標q,應該在max=*p++前面 q=p 。
題主**看不懂或有問題再說出來一起研究哈
c語言程式看不懂,求大神講解。好的一定給分。
一道c語言題~看來半天……也沒看懂~求大神解答!
3樓:匿名使用者
本程式的原意是檢查全域性變數和區域性變數的作用域問題。
其中全域性變數是char a[50];main()函式內部一個區域性變數char b[50];aaa()函式內部定義了一個區域性變數char a[50],該變數與全域性變數a[50]同名。
主要流程:通過gets(a)和gets(b)函式為字串陣列a[50]、b[50]賦值後,再呼叫aaa()函式。aaa()函式內部對區域性變數a[50]賦值。
最後通過puts(a)、puts(b)列印a[50]、b[50]的值,確認aaa()函式對區域性變數char a[50]的賦值操作不影響全域性變數char a[50]的值。
4樓:匿名使用者
這個函式主要是說明變數名作用域的吧。首先你看,雖然函式aaa()裡a陣列和全域性變數a陣列名稱一樣,但是呼叫函式之後,函式內部a陣列的輸入並未影響全域性變數a陣列的值,換句話而言,函式裡的陣列在呼叫後被釋放了,他的作用域僅僅是函式內,故函式內和函式外陣列可以同名。
c語言程式看不懂,求大神註釋語句,講一下思路。好的再給分。
c語言**看不懂求大神解釋,急急急急急急急急急急急急~~~~~~~~~~~~~~~~~~~~~~~
5樓:匿名使用者
case 5:}}
sort_type=5;
break;}
6樓:vex機器人
這是一個簡單的氣泡排序選法,把stu從大到小排序~
有個關於c語言函式的程式看不懂,求大神詳解
7樓:你在看使用者名稱吧
分析程式:
a=6,b=2;
c=f(a)/f(b);
得 c=f(6)/f(2);
再由函式
int f(int x)
{ int y;
y=x++*x++;
return y;
可得f(6)=6*6=36 //因為是x++,先進行運算,(優先順序的判斷),所以是6*6=36
同理f(2)=2*2=4
所以c=36/4=9
8樓:匿名使用者
y=x++*x++;相當於y=x*x; x++; x++;
則當x=6時,計算得到的y=36
當x=2時,計算得到的y=4
結果必然是9
而x++雖然實際上計算了,但並未影響到y的取值。
9樓:
你要注意++運算子優先順序和*的優先順序
求大神講解一道C語言程式題,求大神幫解一道C語言程式題,謝謝
瀚漠 輸出結果 4,2,12,11 代表空格 陣列結構如下,例 5是a 1 1 9是a 2 2 11是a 3 1 a 0 a 1 a 2 a 0 1 2 3 a 1 4 5 6 a 2 7 8 9 a 3 10 11 12 p 1 即對p 1 取 即取值 p 1 a 1 a 1 即a 1 0 的地址...
c語言編寫程式題求大神,C語言編寫程式題,求大神
菊隱逸者也 最簡單明瞭的程式如下 include main double x,y,max,min min max 0 for x 0 x 2 x 0.2 y 2 x x x 3 x x x x 6 x x x x x 4 x 50 printf 當x f時,y f n x,y if y max ma...
c語言求大神,C語言程式設計求大神!!!
include int main 其中z 的值為z,然後z 1,x 的值為x 1,然後與5進行比較第一次迴圈 3 0 1 5成立則x 1,y 4,z 2第二次迴圈 2 0 2 5成立則x 2,y 3,z 1第3次迴圈 1 0 3 5成立則x 3,y 2,z 0第4次迴圈 0 0不成立則x 3,y 2...