|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int main()
{
int n, i;
printf("请输入字符的个数:");
scanf("%d", &n);
char a[n+1];
printf("请开始输入字符:");
getchar(); // 将标准输入流中剩下的 '\n' 扔掉
for (i = 0; i < n; i++)
{
scanf("%c", &a[i]);
}
a[n] = '\0';
printf("你输入的字符串是:%s\n", a);
return 0;
}
既然定义数组时方括号里的数字是数组中元素的个数,那为何上面代码中的char定义为 char a[a+1]?如果+1是为了存放\0的话,那之前的概念该怎样解释呢
int a[6]; // 定义一个整型数组,总共存放6个元素
char b[24]; // 定义一个字符型数组,总共存放24个元素
double c[3]; // 定义一个双精度浮点型数组,总共存放3个元素
上面的几个数组定义,int a[6]代表存放五个整形数据加一个\0吗,char b[24]代表存放23个字符数据加一个\0吗,double c[3]代表存放两个浮点型数据加一个\0吗?
本帖最后由 风过无痕丶 于 2018-4-13 11:07 编辑
其实还可以举例~
现在发现什么端倪了吗~
没有的话 我再给你附上一个ASCII表
让我再给你一点提示。没有被初始化到的元素都被初始化为0!
|
|