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,都翻譯成這個地址。所以,沒有那麼糾...