帮忙解答一下这段代码的运行过程 关于指针和循环类型的
#include<stdio.h>int main()
{char s[]="abaacda",*p,*q,ch='a';
int n=0;
for(p=q=s;*p!='\0';p++);
while(*q)
{
if(*q==ch)
{
n++;
if(n==3)
{while(p>=q)
*(p+1)=*p--;
*q='H';
break;}
}
q++;
}
printf("%s",s);
} *(p+1)=*p--;//越界了 jhq999 发表于 2023-3-30 10:45
啊 怎么越界了啊 本帖最后由 jhq999 于 2023-3-30 11:28 编辑
WAngLeYu 发表于 2023-3-30 10:57
啊 怎么越界了啊
我搞错运算顺序了 jhq999 发表于 2023-3-30 11:21
我搞错运算顺序了
{:5_104:} WAngLeYu 发表于 2023-3-30 11:36
p先自减再运算左边的p+1
while(p>=q)
{
*(p+1)=*p--;//有什么意义,自己等于自己
}
页:
[1]