本文目錄一覽:
- 1、解讀C語言程序代碼,
- 2、程序解讀C語言
- 3、c語言代碼解讀
解讀C語言程序代碼,
在C語言中,程序的執行都是有嚴格順序的,這個語句就是從左往右執行(賦值語句是從右往左執行的),先把x的值賦給t,然後再把y的值賦給x,這樣t就等於原來x的值,而x等於原來y的值,最後把t的值賦給y,結果就是x等於原來y的值,y等於原來x的值,x,y的值就交換了
程序解讀C語言
sort()是個排序函數,作用是對傳入的數組a進行排序,數組a是個整型數組,共有n個元素(下標是0~n-1)
這個函數使用了選擇排序算法,即逐個從數組中選出第c大的數,並將其放在第c位
for(i=0;in-1;i++) //外循環,用於找第i大的數
{k=i;//標記出現在的i值
for(j=i+1;jn;j++)
if(a[j]a[k])k=j;//從i+1到n-1逐個與a[i]對比,如果a[j]a[k],就把j值重新賦予k,這個對比過程重複進行n-i次
if(k!=i) //如果發生了對k重新賦值的操作(即找到了比a[i]大的數字),那麼k!=i,所以要交換a[i]和a[k]和值,如果k值未變,則說明沒有比a[i]大的值,所以此次不進行交換操作,直接進行下一次循環。
{t=a[i];a[i]=a[k];a[k]=t;}//交換a[i]與a[k]的值
}
*********************************************
這並不是冒泡排序,而是選擇排序,希望某些網友不要誤導別人!謝謝!
c語言代碼解讀
你有些地方沒有截得好
#include stdio.h
void main()
{
char *a;//這邊差個變量,定義字符類型的指針a//*你少了一個字符型變量,//指針無法用於輸入
int i,j;//定義整形變量a
for(i=0;i=5;i++)//for循環將i賦值為0,i在=5時,每次循環之後i加1
{
gets(a);//輸入字符型指針a
for(j=0;j=1000;j++)//for循環將j賦值為0,j在=1000時,每次循///環之後i加1
if(a[j]==’\0′)//當a[j]的字符數組到最後時(ps:在字符型數組///在結尾時都會自動添加’\0’)
printf(“呵呵\n”);//輸出呵呵並換行
for(j=0;j1000;j++)//for循環將j賦值為0,j在=1000時,每次循環//之後i加1
a[j]=2;//當a[j]中當字符中有2的時候//*感覺這地方有些不合理,///怎麼用數字來判斷
}
printf(“去洗澡了,88”);//輸出去洗澡了,88
}
敢覺你有些地方寫錯了,不知道是不是沒有上面的問題,你自己看一下,不會的可以私聊我,求採納,謝謝啊!(ps:帶*的是我感覺有問題的地方)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/293286.html