2.编一程序,將字符串computer赋给一个字符数组,然后从第一个字母开始 间隔地输出该串。请用指针完成
时间: 2024-02-05 21:13:21 浏览: 26
以下是用指针完成的程序:
```c
#include <stdio.h>
int main() {
char str[] = "computer";
char *p = str; // 定义指针指向字符数组的首地址
while (*p != '\0') { // 判断指针所指向字符是否为字符串结尾符
printf("%c", *p); // 输出指针所指向的字符
p += 2; // 指针向后移动2个字节(一个字符占一个字节)
}
return 0;
}
```
输出结果为:cmue
解释:程序中先定义了一个字符数组 `str`,并将字符串 "computer" 赋值给它。然后定义一个指针 `p`,将其指向 `str` 的首地址。接下来通过一个 while 循环,判断指针所指向的字符是否为字符串结尾符 '\0',如果不是,就输出该字符,并将指针向后移动2个字节,即跳过一个字符。最终输出的结果是从第一个字母开始间隔地输出该串,即 "cmue"。
相关问题
c语言编一程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔地输出该串。
好的,下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "computer";
int len = strlen(str);
int i;
for (i = 0; i < len; i += 2) {
printf("%c", str[i]);
}
printf("\n");
return 0;
}
```
首先定义了一个字符数组 `str` 并将字符串 "computer" 赋给它。然后使用 `strlen` 函数获取该字符串的长度,存储在变量 `len` 中。接下来使用 `for` 循环来遍历字符串,从第一个字母开始每隔一个字符输出一个。循环条件是 `i < len`,即未遍历完整个字符串。循环体中每次输出 `str[i]`,即字符串中第 `i` 个字符。最后换行并返回 0。
.编一程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔地输出该串。请用指针完成。
下面是用指针完成的代码:
```c
#include <stdio.h>
int main() {
char str[] = "computer";
char *p = str; // 定义指向字符数组首元素的指针
while (*p) { // 当指针指向的元素不为 '\0' 时
printf("%c", *p); // 输出当前指向的元素
p += 2; // 移动指针到下一个需要输出的元素
}
return 0;
}
```
输出结果为:`cmue`