C语言数组初始化后数组名指向最后一位?

int main()
{
	char a[5] = { 'Love' };
	printf("%c\n", *a );
	system("pause");
	return 0;
}

此处结果打印为e,可是不应该数组名指向第一位,即打印L吗??

int main()
{
	char a[5] = "Love";
	printf("%c\n", *a );
	system("pause");
	return 0;
}

 

列表的初始化和其他不同。

#include <vector>
#include <stdio.h>
#include <string>
using namespace std;
#pragma warning(disable:4996)
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>

int main()
{
	char a[5] = { 'Love' };
	char b[5];
	printf("%c\n", *a);
	for (int i = 0; i < 4;i++) {
		b[i] = 'a' + i;
	}
	printf("%c\n", *b);
	system("pause");
	return 0;
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632