已定义两个字符数组a,b,则以下正确的输入格式是( ) A. scanf("%s%s", &a, &b); B. scanf("%s%s", a, b); C. get(a, b); D. gets("a"),gets("b");
时间: 2024-01-08 14:20:06 浏览: 39
正确的输入格式是B. scanf("%s%s", a, b);。
解析:
根据引用中提到的,如果没有学习指针,可以使用`char a[MAX]; scanf("%s", a);`的方式来读入字符串。而在选项B中,`scanf("%s%s", a, b);`正是使用了这种方式来读入两个字符数组a和b的。因此,选项B是正确的输入格式。
相关问题
已定义两个字符数组a,b,则以下正确的输入格式是( ) A. scanf("%s%s", &a, &b); B. scanf("%s%s", a, b); C. get(a, b); D. gets("a"),gets("b");请详细解释每个选项
以下是对已定义两个字符数组a,b,正确的输入格式的解释:
A. scanf("%s%s", &a, &b);
B. scanf("%s%s", a, b);
C. get(a, b);
D. gets("a"),gets("b");
```c
// 选项A
scanf("%s%s", &a, &b);
// 这种方式是错误的,因为数组名a和b已经是指针,不需要再取地址。
// 选项B
scanf("%s%s", a, b);
// 这是正确的方式,因为数组名a和b已经是指针,不需要再取地址。
// 选项C
get(a, b);
// 这种方式是错误的,因为C语言中没有get函数。
// 选项D
gets("a"),gets("b");
// 这种方式也是错误的,因为gets函数已经被废弃,不建议使用。
```
题目12-2:从键盘输入一个字符串到字符数组 a 中,将其中的大写字符复制到另一个字符数组 b 中。用C语音
以下是示例代码:
```c
#include <stdio.h>
int main() {
char a[100], b[100];
int i, j = 0;
printf("请输入一个字符串:");
scanf("%s", a);
for (i = 0; a[i] != '\0'; i++) {
if (a[i] >= 'A' && a[i] <= 'Z') {
b[j] = a[i];
j++;
}
}
b[j] = '\0';
printf("大写字符复制到另一个数组:%s\n", b);
return 0;
}
```
以上代码中,首先定义了两个字符数组 a 和 b,分别用于存储输入的字符串和复制出的大写字符。然后通过 scanf 函数从键盘读入一个字符串到数组 a 中。
接下来通过循环遍历数组 a 中的每个字符,如果该字符是大写字符,则将其复制到数组 b 中,并且在 b 数组中的位置 j 加 1。最后在 b 数组末尾添加一个字符串结束符号 '\0'。
最后通过 printf 函数输出复制出来的大写字符数组 b。