发布网友 发布时间: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 ;}