2016-12-02 75 views
0

當我的程序運行時,IF(ch [0] =='P')實際上將值'P'放入ch [0]中。有什麼想法發生在這裏?輸出是:「陣列是PYZ」IF語句正在改變函數中的數組元素

char *try1(char ch[]); 

int main() 
{ 
    char ch[] = { 'x','y','z' }, *ch1; 
    ch1=try1(ch); 
    printf("\nArray is %s\n",ch1); 
    return 0; 
} 

char *try1 (char ch[]) 
{ 
    if (ch[0]=='P') 
    { 
    ch[1]='Q'; 
    } 

    return ch; 
} 
+3

你確定你有一個''==而不是'='? –

+0

謝謝BJ Myers。你是對的。對不起,我在發佈這個消息之前試圖非常小心,但是我錯過了。我將來會更徹底。 – DartmouthMan

+0

你應該看看[適當的C格式化](// prohackr112.tk/r/properties-formatting)。或者學習如何[徹底模糊你的代碼](// prohackr112.tk/r/proper-c-obfuscation)。 –

回答