{ char *s[]={"one","two","three"},*p; p=s[1]; printf("%c,%s\n",*(p+1),s[0])答案为什么是w one

如题所述

p=s[1];即p指针指向S数组“two”元素的第一个字符't',p+1将p指针向后推进1,由‘t'指向’w‘,所以
*(p+1)即为w;
S[0]即为s数组第一个元素,所以为“one"..
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-02
永远也不必乘上 sizeof(char), 因为根据定义, sizeof(char) 严格为1。另一方面, 乘上 sizeof(char) 也没有害处, 有时候还可以帮忙为表达式引入 size_t 类型。
第2个回答  2011-06-30
s[0]--- one
s[1]--- two
s[2]--- three

p = s[1] = two
*(p+1) = p[1] 第二个字符 为w

s[0]还是one本回答被网友采纳
第3个回答  2011-07-06
永远也不必乘上 sizeof(char), 因为根据定义, sizeof(char) 严格为1。另一方面, 乘上 sizeof(char) 也没有害处, 有时候还可以帮忙为表达式引入 size_t 类型。
另外,虚机团上产品团购,超级便宜
相似回答