C語言問題C語言問題,C語言問題C語言問題

2021-03-04 09:30:11 字數 2782 閱讀 8156

1樓:藍色妖姬

#include

#include

int main()

b[k]=*p;}}

b[k]='\0';

puts(b);

return 0;}

c語言問題c語言問題

2樓:聽不清啊

#include

int main()

;int h,m;

scanf("%d%d",&h,&m);

printf("%s",num[h]);

if(m>0)

}else printf(" o'clock");

printf("\n");

return 0;}

c語言問題!

3樓:匿名使用者

因為s是一個指向float型別的指標,在初始化的時候,*s=a;所以s指向了陣列a,因為陣列名代表了陣列的首地址,也就是s此刻指向了陣列a的第一個元素a[0],而a[0]==1.1,然而,你呼叫fun(a,b,s),但是在函式fun中並沒有對main()函式中的s指標有任何改變,因為你在func()函式中的s和main()根本就不是同一個,在fun()中的s在沒有呼叫calloc()之前,也是指向a[0]的,但是呼叫calloc()後,func()中的s就指向了一個系統分配的地址,所以改變func()中的s並不會影響到main()中的s。

4樓:匿名使用者

為什麼是21.1?即使沒發現錯誤也應該理解為11.1才是啊......錯誤在於對s的重新賦值。

s作為引數傳給fun,然後fun內部改變了s的值,並寫入新數。

但fun執行完後返回時,main函式裡面的s沒有改變,因為c語言的引數傳遞是傳值的。

結果就是,執行printf所顯示的實際還是a[0],所以顯示1.10修改方法:

1、把calloc放在main裡

2、如果calloc有特別要求不能動,那麼把fun的第三個引數變成 float** s ,其他s對應著修改。

c語言問題—max()函式

5樓:壞天空{囝仔

max裡的叫形

bai參,可以隨便用du哪個都一樣的,大概zhi你是新dao手,不知道什麼是形參和版實參吧~

形參權與實參的區別:

高階語言在設計程式模組時,模組名定義後,緊跟其後所定義的引數(括弧內)被稱為形參(也稱虛參)。當該模組被呼叫時,在主調模組中,出現在被呼叫的模組名後的引數被稱為實參。實參代替虛參的過程被稱為虛、實結合,也稱換參。

多數高階語言的換參是由編譯系統來完成,比如c語言和fortran語言亦是如此。basic語言的換參則是由程式設計人員來完成的。如果只允許實參向虛參傳遞,則被稱為「單向傳遞」,c語言的變數類虛、實結合即是「單向傳遞」。

如果同時允許虛參向實參傳遞,這種傳遞被稱為「雙向傳遞」,fortran 語言定義的子程式即是如此。 當c語言的形參為陣列時,形參不另闢儲存單元,形參與實參共用記憶體儲存單元。這樣,可以節省記憶體。

c語言在定義函式的同時,對於有參函式,也同時定義了形參。在呼叫該函式的同時,也指明瞭實參。實參與形參在記憶體分別佔有兩套不同的儲存單元(陣列除外),但是形參只有在函式被呼叫過程中才分配儲存單元,呼叫結束後形參佔用的單元被釋放。

陣列元素作為實參時,也做為變數來處理。

6樓:匿名使用者

main()是主函式的入口,每一個程式執行都是從這裡開始,int max(int a,int y)是自定義函式返回值為整形,a y是函式形參

7樓:yx陳子昂

c語言沒有bai標準的max和min函式。

常規du情況下,幾乎zhi所有的編譯器使用巨集來dao實現 max() 及 min() 函式,回它們一般在答 stdio.h 這份檔案中以巨集方式被宣告。

使用巨集來實現的原因一般是因為這兩個函式非常簡單,它們一般的實現如下:

#define max(a,b) ( ((a)>(b)) ? (a):(b) )

#define min(a,b) ( ((a)>(b)) ? (b):(a) )

使用巨集的另外一個好處是使得該函式具備了「過載」功能,可以讓傳遞的引數不侷限於某種型別(只限基本型別-非結構型別),如 int 或 char。

8樓:匿名使用者

max()不是一個c語言裡提供給你的函式,而是程式設計師自己定義的。

是你看的那個程式回源**上,寫程答序的人自己定義了一個名為max的函式。它和main()函式不一樣,main()才是c語言函式庫裡已經定義好的,main()已經被賦予了意義,那就是每個c程式的主函式。而這個max()只是寫那個源**的人自己定義的。

就像你編寫程式時可以隨意定義變數,比如定義int a;就是定義了一個名字為a的整形變數而已,你也可以定義為int b;就是改變了他的名字。意義沒有改變。這個max(),你完全可以改名為num(),sum()等等函式,隨意改變它的名字。

int max(int a,int y)的意思是:

第一個int是用來定義max()這個函式為整形函式,max就是這個函式的名字。括號裡面的int a,int y是max函式所帶的引數,引數的意思就是,舉個例子,比如你數學裡面的一個函式f,它的表示式為:y=3x,這個表示式是我隨便寫的哈,那他的函式名就為f,引數就是y和x。

當然數學和程式裡的函式本質是完全不同的。int a,int y就是定義引數a為整形,引數y也為整形。

樓主,明白了嗎?

9樓:匿名使用者

這就是一函式的定義啊..

C語言問題,C語言問題C語言問題

這題考的是自動型別轉換,由編譯系統自動完成,轉換是 向上 靠的 舉個例子 include stdio.h void main 你編譯一下就會有警告 conversion from double to float possible loss of data 也就是說系統預設轉化了a,b的資料型別為do...

c語言問題,C語言問題

1 c2 a 3 d4 a 5 d6 b 7 a8 a9 d c語言問題 include define n 30 typedef struct student student r n int main void num 1 for i 0 ir max score max j if max i if...

c語言問題,c語言問題

程式實現1 10的累加和 for n 1 n 10 n 第一次迴圈 n 1 t t n 既t 0 1 所以 t 1 輸出 n 第二次迴圈 n 2 t t n 既t 1 2 所以 t 3 輸出 n 以此類推 第十次迴圈 n 10 t t n 既t 45 10 所以 t 55 輸出 n 這時n 11 比...