c語言錯誤,不知道是什麼,c語言一個錯誤,不知道是什麼

2023-01-03 21:55:26 字數 907 閱讀 6315

1樓:

給程式修改如下兩處即可:

將*search函式的定義放在main函式前或者將*search函式在main函式前要進行宣告;

main函式中float *search(),*p;用法不對,float *search()是一個完全無意義、錯誤的用法,其不是一個變數,不用定義,改語句直接修改為 float *p即可。

修改後執行無錯誤的程式為:

#include

float *search(float (*s)[4],int n);

void main()

,,,};

float *p;

int i,m;

printf("enter the number of student:");

scanf("%d",&m);

printf("the score of no. %d are :\n",m);

p=search(score,m);

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

printf("%6.2f\t",*(p+i));

}float *search(float (*s)[4],int n)

2樓:

這個程式在c中沒有錯誤,但在c++中不能通過編譯。

原因就在於c對型別查檢不嚴格,而c++卻是嚴格的。

在第五行對函式search()的說明與後續的呼叫和定義產生型別查檢不匹配錯誤:

只要在第五行改float *search()為float *search(char (*s)[4],int n)即可。

3樓:斬不斷的風

第五行:

float *search(),*p;

函式宣告不能在main函式裡面,把她提 出去就好了。

c語言程式不知道哪錯了,一個C語言程式的修改。不知道錯在哪了。

不能這樣賦值。你可以 include stdio.h struct student s 2 int main 另外 注意只有2個元素。你新建了s 2 然後這兩個陣列元素應該是s 0 和s 1 啊,不是s 1 和s 2 後面for迴圈y也應該是i 2。看了樓下回答我想說說我的想法 首先 簡潔之道 推薦...

求找c語言錯誤,求找C語言錯誤

你在str c 81 應該傳一個陣列的首地址吧,還有子函式的引數那應該是個指標,這樣傳過去函式才能對句子進行解析 include include int x,y,z,w int main void str char s 如上,首先你的 不安全,也出現了陣列越界的情況,其次,函式引數定義方式不合理,非...

c語言,不知道錯哪裡了,thankyou

while b a 你這句是不是再看看 這可是賦值符號會永遠成立然後一直執行 最後超出其中一個指標 然後崩了。char s a b t 80 相當於 char s a b char t 80 是不是發現多了個星星 切計切計 不要偷懶最好寫成 char s a b char t 80 你沒有用英文的符...