关与宏定义的一些疑惑解决方法
关与宏定义的一些疑惑
#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页。
#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页。