簡體   English   中英

打印時繼續為我創建的陣列獲得不同的輸出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM