关与宏定义的一些疑惑解决方法

关与宏定义的一些疑惑
#include   "stdio.h "
#define   PI   "3.1415 "
main()
{
int   i;
char   a[8]={PI};
char   b[8]={ '1 ', '1 ', '1 ', '1 ', '1 ', '1 ', '1 ', '1 '};
for(i=0;i <8;i++)
{
b[i]=a[i];
}
for(i=0;i <8;i++)
{
printf( "%c ",b[i]);
}
}


请问     这里PI常量是否为字符串呢?
为何输出的是3.1415     而不是 "3.1415 "   或者3.141511呢?

------解决方案--------------------
如果按照你说的,那就应该将字符使用 ' '界定。
在这里是使用字符串初始化字符数组,参见谭浩强《C程序设计》92页。