这是代码:
#include <stdio.h>
#include <string.h>
int main()
{
char C1[6] = "Hello";
char* C2 = C1;
char C21 = C1[1];
printf("\n\nC2 in String : %s\n", C2+1 );
printf("\n\nC2 address : %d\n", C2+1);
printf("\n example de C2+1 : %s", C21);
}
这是输出
字符串中的 C2 : hello
C2 地址:6422273
分段错误
答案 0 :(得分:1)
您将 C21 声明为字符而非字符指针。要么将声明更改为:
char * C21 = &C1[1];
或者在第三个 printf 中将 %s 更改为 %c。
如果你在编译器上打开警告,就会给你一条消息,让你自己解决这个问题。如果您使用 gcc,所有 -Wall 到您的命令行。