2016-12-02 70 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)。 –

回答