關於c語言的問題,執行有問題,這是一道函式(地址傳遞),逆序

2022-11-20 21:55:33 字數 1136 閱讀 9710

1樓:冷明珠

1全部程式中有3個問題:

1.第3行:進行函式申明時一定要寫明函式引數的型別,而引數名是可以不寫的。所以應改為:

void inv(int * );或者void inv(int * a);或者void inv(int a);,或者直接把函式inv的定義寫在main函式前面即可。

2.第12行:在同一個函式中不能重複申明同一個變數,所以刪除此處申明即可。

3.第18行:在inv函式中定義了n 變數但是卻沒有賦值,所以可以修改:

n=10;或者n=strlen(a);或者將n作為引數由main函式傳入。最後一種方法 最好,因為這是一般程式開發中使用的方法,因為這樣其他程式設計師可以一目瞭然的知道你定義的函式時幹嘛的,然後傳參是哪些,每個引數代表什麼。但是在小程式中第二種即可,第一種直接賦值n=10;不推薦。

程式修改如下:

#include "stdio.h"

void inv(int * ,int);

void main()

;int i;

printf("逆序前陣列為:\n");

for(i=0;i<10;i++)

printf("%d ",a[i]);

printf("\n");

printf("逆序後的陣列為:\n");

inv(a,10);

for(i=0;i<10;i++)

printf("%d ",a[i]);

}void inv(int a,int n)}

2樓:

#include "stdio.h"

void inv(int b,int n);

int a[10]=;

int i;

void main()

void inv(int b,int n)}在你的基礎上稍微改了一下,你主要錯在呼叫函式的命令沒有在主函式裡。上邊改過的執行過,沒問題了。其實不用那麼麻煩的。

你可以試下這個

#include "stdio.h"

void inv(int b,int n);

int a[10]=;

int i;

void main()

void inv(int b,int n)}

tc執行c語言問題,TC執行c語言問題

include 找不到標頭檔案的話應該是除錯環境設定問題 int main 錯誤是標頭檔案不存在 輸出函式後沒加分號 解決找找看那個stdio.h在哪個檔案裡,放到根目錄,就是很tc.exe放在一個目錄下 輸出函式後加分號 樓主,你好,很高興能為你解答問題!1 main應該改成void main。2...

關於C語言的問題,關於c語言的問題?

語法錯誤咱不討論。從邏輯上,if a b else t a a b b t 應該是說,如果a b,則不操作,否則 即a b 交換a,b的值。但是注意 else下如果無大括號,則表示else內只執行第一句。所以應該為 else 下面兩句同理。可能表達不是很清楚,但你應該能看懂吧。希望對你有幫助。if後...

關於c語言的問題,求解答,關於C語言的問題,求解答!

1.d 識別符號不能以數字bai打du頭 2 d 一般c關鍵字在編譯器中zhi 會出現dao變成藍色,a不是而 define是,版b 中的printf只是一個輸出權函式,c是大寫的,不是,如果是int 就是,因為在c中,大小寫是敏感的 3 d d項轉譯成字元 4 a 0x20u的意思是無符號的16進...