【发布时间】:2020-12-21 09:00:37
【问题描述】:
我是 C 语言的初学者,不了解指针、字符串等可能很简单的概念。
源码如下。
#include<stdio.h>
int main(void){
char *p="Internship ";
printf("%s\n", p);
printf("%c\n", *p++);
printf("%c\n", *p+2);
printf("%c\n", *(p+6));
printf("%c\n", *++p);
printf("%c\n", *p--);
printf("%c\n", *(p+5));
printf("%c\n", *p);
return 0;
}
输出是
Internship
I
p
h
t
t
s
n
请尽可能详细地解释代码和输出。你会帮我很多。 提前谢谢你。
【问题讨论】:
-
你不懂什么
-
char *p="实习";
-
它创建一个名为
p的指针。指针p指向一个字符串字面量,即“实习” -
我不明白 printf("%c\n", *p++); 的输出如何来吧。
-
p指向“实习”,因此*p返回I。 Affterwardp由于++而增加。所以现在p指向“实习”。其余部分或多或少相同。
标签: c string pointers dereference