指標問題c語言

時間 2022-03-31 11:05:22

1樓:擁雲莊主

好幾個地方都有問題,幫你改改:

#include

int f(int x,int y);

int main()

//int f(); //上面已經宣告瞭函式f了,這裡又有一個,去掉int i,a,b;

a=0;//a初值為0

int (*p)(int, int); //這個函式指標所指向的函式應該有兩個int型引數,即和f的引數一樣

p=f; //給函式指標賦值

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

scanf("%d",&b);

a=p(a,b);

printf("the max number is:%d\n",a);//輸出的時候你沒有給a的輸出格式,所以沒有輸出a的值return 0;

int f(int x,int y)

int z;

z=(x>y)?x:y;

return z;

執行截圖:

2樓:匿名使用者

1、int f(); 這是什麼意思? 函式的宣告嗎? 還是? 這個沒有必要寫,如果你想定義一個陣列應該是這樣寫的f,還有就是定義變數的時候最好還是不要和函式名一樣

2、main函式中變數a沒有初始化,你第一個傳給f函式的a是什麼值呢?

3、main函式中p=f是什麼意思? 這個f是指一個陣列的話就對了,如果是一個函式的話,這種寫法是不行的

4、printf("the max number is:\n",a); 這裡應該改成:printf("the max number is:%d\n",a);

5、定義指標的時候就是int *p就行了,你寫了那一大堆有什麼用呢?

6、指標定義了有沒有用到,c語言中是不允許的,定義了的變數就一定要用到,不能定義無用的變數,這也是站記憶體空間的

樓主你好,看了你的**分析出這麼的的問題,希望對你有幫助,自己以後得多看看書,多動動手吧。

3樓:匿名使用者

#include

int f(int x,int y);

void main()

}int f(int x,int y)

4樓:

int f();

宣告錯了,應該是int f(int x, int y);

int (*p)();

也是,應該是int (*p)(int, int y);

a值最開始沒有定義

也不知道你這個指標函式是幹什麼的

你的main函式外面定義了f 函式,main函式裡面可以不要的

5樓:香蕉蘋果汁

這真是寫的一塌糊塗啊!

scanf("%d,%d",&a,&b);

printf("the max number is:\n",a); -> printf("the max number is: %d\n",a); 把這句放到for迴圈以內

設定了函式指標,而沒使用,刪除!而且函式指標設定不大正確!

C語言指標問題,C語言指標問題?

文庫精選 內容來自使用者 zzbo2022 讓你不再害怕指標 前言 複雜型別說明 要了解指標,多多少少會出現一些比較複雜的型別,所以我先介紹一下如何完全理解一個複雜型別,要理解複雜型別其實很簡單,一個型別裡會出現很多運算子,他們也像普通的表示式一樣,有優先順序,其優先順序和運算優先順序一樣,所以我總...

C語言指標問題,C語言指標問題。

最大的寶寶 pointer是指標指向的一個值,此時為2,這個值再自加1自然為3。pointer此時還指向值2,減2的含義是指標回退兩個元素,自然指向了值6。指標本身有值,表示它指向的地址,這個值可以運算,表示對地址的修改。而指標指向的值,其實就是位於這個地址所存的值。在彙編以上層次的程式設計中,記憶...

c語言指標概念問題,C語言指標問題(初學者)

文庫精選 內容來自使用者 維旺 精選 沒有那麼複雜,從彙編或者計算機原理層面,反而更用不到型別,那裡只有地址和偏移。定義變數,無法是兩個要素,型別和變數名,型別讓編譯器知道可以做哪些運算和如何計算 變數名讓編譯器做成一個名字和地址的對應,以便把後面作用域內所有的p,都翻譯成這個地址。所以,沒有那麼糾...