2012-04-20 104 views
-1

我有这个在我的代码指针和用C与数组索引

char *ch = &(string[i]); 
printf(ch); 

,并要打印在阵列中的某些元素和不打印输出但是如果我将其更改为

char *ch = &(string[20]); 
printf(ch); 

它打印空间20以上的内容,为什么是这样的,我该如何解决这个问题?直到碰到一个性格\0因为在C中,字符串是字符* S

感谢adavnce

+8

什么是'i' ???? – Nick 2012-04-20 14:41:26

+0

“修复它”是什么意思?你想要什么样的行为? – 2012-04-20 14:42:52

+0

我是一个从while循环确定的int,并且我的意思是它从位置i(int)打印到该数组的末尾 – user998316 2012-04-20 14:43:35

回答

0

printf上一个char *将打印一切。

,如果你只想打印单个字符做:

printf("%c",ch[0]); 
+0

不是他要求。他想知道为什么它不打印字符串的其余部分。 – Matt 2012-04-20 14:51:12