字符数组的定义、引用与初始化: 定义一个一维的字符型数组,并将“we are young!”使用以下方式存入该一维数组,打印查看此数组:使用scanf()、getchar()以及putchar(),逐个键入的方式输入并逐个输出。
时间: 2024-02-10 10:10:25 浏览: 35
好的,我来回答你的问题。
字符数组是一种用来存储字符序列的数据类型,它由一定数量的元素组成,每个元素都是一个字符型数据。定义一个一维的字符型数组可以使用以下语法:
```C
char str[20]; // 定义一个长度为20的字符数组
```
在这个例子中,我们定义了一个名为`str`的字符数组,它的长度为20。
要将“we are young!”存入这个数组,可以使用以下方式进行初始化:
```C
char str[20] = "we are young!";
```
在这个例子中,我们在定义`str`字符数组变量时就初始化了它的值为“we are young!”。需要注意的是,由于字符串末尾会自动添加一个空字符('\0'),因此在定义字符数组时要多留一个元素来存储这个空字符。
接下来,我们可以使用`printf()`函数打印这个数组的值:
```C
printf("%s", str);
```
这个语句会输出`we are young!`到屏幕上。
接下来,我们可以使用`scanf()`、`getchar()`以及`putchar()`函数逐个键入并逐个输出这个数组的元素。示例代码如下:
```C
#include <stdio.h>
int main() {
char str[20]; // 定义一个长度为20的字符数组
int i = 0;
// 使用scanf()逐个键入字符
printf("Please enter a string using scanf(): ");
scanf("%s", str);
printf("The string you entered is: %s\n", str);
// 使用getchar()逐个键入字符
printf("Please enter a string using getchar(): ");
while ((str[i] = getchar()) != '\n') {
i++;
}
str[i] = '\0';
printf("The string you entered is: %s\n", str);
// 使用putchar()逐个输出字符
printf("The string you entered is: ");
i = 0;
while (str[i] != '\0') {
putchar(str[i]);
i++;
}
printf("\n");
return 0;
}
```
在这个例子中,我们使用了三个不同的函数来逐个键入并逐个输出字符数组的元素。`scanf()`函数可以一次性读入整个字符串,`getchar()`函数可以逐个读入字符,而`putchar()`函数可以逐个输出字符。
希望这个例子可以帮助你理解字符数组的定义、引用与初始化,以及使用不同的函数逐个输入输出字符数组的元素。