求問c語言程式中一小段不懂意思,求解釋

2022-02-16 06:50:27 字數 896 閱讀 5012

1樓:風若遠去何人留

對stu陣列

根據livenumber 的值進行排序

由小到大

for(i=0;ii;j--)

這個是很典型的排序演算法

至於if裡面所有**

其實就是交換stu[j] stu[j-1]的值。

其實 沒必要這麼麻煩的。

把if裡面所有**改成

struct student t;

t = stu[j];

stu[j] = stu[j-1];

stu[j-1]= t;

結構體是可以整體賦值的。

2樓:風影美

他這個應該是交換兩個結構體變數全部屬性的功能strcmp(stu[j-1].livenumber,stu[j].livenumber)>0,是說如果j-1的livenumber排序如果應該在j的後面的話,就交換stu[j-1]和stu[j]兩個結構體變數

交換結構體變數需要交換兩部分,第一個是屬性值,第二個是儲存地址所有的strcpy函式就是為了交換屬性值,你可以看到他們三行為一組,每組定義了一個temp暫時保留其中一個屬性,做到交換的結果

p=&stu[j-1].dormitory;

q=&stu[j].dormitory;

s=*q;

*q=*p;

*p=s;

最後這5句是為了交換地址,p指向j-1,q指向j,交換後p指向j,q指向j-1

求解釋此c程式後半部分的意思

3樓:匿名使用者

平年2月有28天,閏年2月有29天,程式中的2月按平年來算(28天),後半部分程式是說,如果輸入的年份是閏年,月份大於2,即要在平年的演算法中再加上一天,才是正確的總天數。

C語言的程式,有一段看不懂,C語言的一個程式,有一段看不懂

p是一個字元型的指標,因此,p表示指標當前位置的字元。由於c中對字元型和整型是不進行區分的 即可以互相轉換的 因此 p也可以認為是一個數字。同樣 0 也可以代表一個數字。根據ascii 表可以知道。字元 0 是十進位制的48,所示也可以認為 0 就是數字48。因此,上面 的 p 0 的意思就是把字元...

c語言程式段的錯誤高手進,C語言程式段的一個錯誤高手進

首先宣告下,我不是高手,只是和你分析下這個程式。1 這句報錯是說 賦值符 前面沒有變數,就像寫 int 8 原因一樣。只要在前面寫個變數如 func1 pfun inc 就可以了。其實後面程式中沒有用到這條語句。2 typedef int func1 int in 這句話是定義指向一個函式的指標,返...

c語言一段程式的理解,c語言一段程式的理解

fwrite void buffer,size t size,size t count,file fp 表示將buffer地址開始的資訊,寫入count次,每次寫size位元組至檔案fp中,現在明白1的意思了?就是把 people i 開始的size字元寫入檔案fpo中,總共寫入1次 主要是看fwi...