#include<stdio.h> void main() { int i; char ch,

#include<stdio.h>
void main()
{
int i;
char ch,*p1,*p2,s[4][20]={"four","hello","peak","apple"};//*s[4]
for(i=0;i<4;i++){
p1=p2=s[i];
ch=*(p1+i);
while(*p1!='\0'){
if(*p1!=ch){
*p2=*p1;
p2++;}
p1++;}
*p2='\0';}
for(i=0;i<4;i++)
printf("%s\n",s[i]);
}
最后答案是our,hllo,pek,appe。求解为什么,解释第一个for循环。

你要理解数组的本质是指针、s[i]编译器当作*(s+i)来做的追问

指的是行数咯?

追答

二维数组的话取*可以理解为行数、

二维数组的话取*可以理解为行数、

温馨提示:答案为网友推荐,仅供参考
相似回答