[英]Keep Getting A Different Output For My Created Array When Printing
我是新來的人,也是編碼的新人。 我得到了這段代碼,想檢查它是否正常工作。 這很簡單,但是由於我是新手,所以我遇到了很多問題。 調用函數后嘗試輸出數組時,我不斷得到一些隨機數。 如果有人可以告訴我我做錯了,將不勝感激。
# include <stdio.h>
int V[6]= {7,6,5,4,3,2};
int F(int G, int H) {
int J;
for (J=0;J<=5;J++) {
if(G<V[J]<H)
V[J]='Y';
else
V[J]='N';
}
}
main () {
int call;
call = F(3,5);
printf ("%d",call);
}
這是代碼,我的輸出是:
4206608
int F(int G, int H)
此第一個int
表示您將從該函數返回一個整數值。 但是在您的函數中,您什么也不返回。 因此,變量call
未分配任何值並顯示垃圾值。
您正在打印函數而不是數組。 順便說一句,似乎您忘記了將值返回給函數,未定義的返回值可能會導致您產生隨機數。
嘗試改為打印此:
for (J=0;J<=5;J++){
printf ("%d",V[J]);
}
好的,謝謝您的回答。 就像我說的那樣,我是新來的,花了一些時間才弄清楚。 就像我得到的答案一樣,我需要返回一些東西,這就是為什么我得到一些隨機數的原因。 所以我將函數更改為void
而不是int
,並且似乎可以正常工作,我想看看函數調用是否將數組更改為我想要的樣子,結果卻沒有,因此我不得不對其進行了一些更改。
# include <stdio.h>
int V[6]= {7,6,5,4,3,2};
int J;
void F(int G, int H){
for (J=0;J<=5;J++){
if(G<V[J] && V[J]<H)
V[J]='Y';
else
V[J]='N';
}
}
main (){
F(3,5);
for (J=0;J<=5;J++){
printf ("%c",V[J]);
}
}
我得到了我需要的輸出是:
NNNYNN
感謝您的支持。 真的很感激。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.