字符输出
#include<stdio.h>int main()
{
char a[]="computer";
char *p=a;
int k=0;
while(p)
{
p=p+k;
printf("%c",*p);
k=k+2;
}
}
间隔输出computer,为什么没有输出正确结果啊,请问哪里错了? 你这个 while(p) 在 p 一直不是空指针的时候会一直运行,然后就会导致这个 p 指针访问到未定义内存。还有,这并不是间隔输出,想要实现间隔输出需要删去第11行,然后把第9行变成p = p+2
代码:#include<stdio.h>
#include<string.h>
int main()
{
char a[]="computer";
char *p=a;
while(p < a+strlen(a))
{
printf("%c",*p);
p = p+2;
}
} 本帖最后由 jackz007 于 2022-11-17 17:56 编辑
间隔输出computer 是什么意思,无穷多个?,你的程序是死循环
你想得到输出 "computermputeruterer" 是这个意思? 本帖最后由 jhq999 于 2022-11-17 20:35 编辑
char a[]="computer";
char *p=a;
do
{
printf("%c",*p);
p+=2;
}while(*(p-1)&&*p);
int i=0,k=4;
do
{
printf("%c",*p);
for(i=1;i<=k;i+=1)if('\0'==*(p+i))break;
if(i<k)break;
p+=k;
}while(1); 不知你想输出什么? 桃花飞舞 发表于 2022-11-18 00:17
不知你想输出什么?
他可能想要这个:
cmptr zhangjinxuan 发表于 2022-11-18 08:57
他可能想要这个:
cmptr
不是,他是想要cmue 桃花飞舞 发表于 2022-11-18 23:28
不是,他是想要cmue
不好意思,看错了
页:
[1]