...for(p=a;p<a+5;p++) { printf("%s\n",p); }

发布网友 发布时间:2024-10-24 06:39

我来回答

4个回答

热心网友 时间:2024-11-09 22:15

%s的格式是输出字符串,p是一个指向字符串的指针变量
第一次循环时p的值是数组a的首地址,那么p指向字符串"ABCDE",所以输出ABCDE
第二次循环时p++,p的值是数组a的第二个字母的地址,即B的地址,那么p指向字符串BCDE,所以输出BCDE
同理,依次输出
CDE
DE
E
如果想按你的要求输出那么%s换成%c,p改为*p即可
如果你定义char *p="abcde";
printf("%s",p);
printf("%s",p+1);
分别输出的是abcde
和bcde

热心网友 时间:2024-11-09 22:15

A
B
C
D
E
Press any key to continue

void main()
{
char a[]="ABCDE";
char *p=NULL;
p=a;
while (*p!='\0')
{
printf("%c\n",*p++);
}
}

热心网友 时间:2024-11-09 22:14

因为是用%s打的啊,你可以用%c一个一个打印出来。

热心网友 时间:2024-11-09 22:12

char a[]="ABCDE"; char *p=UNLL; for(p=a;p<a+5;p++) { printf("%s\n",p); continue ;}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com