用指针访问数组,其功能是:将字符串s中除了下标为奇数,同时 ascii 值也为奇数的字
时间: 2024-01-04 16:01:11 浏览: 105
个新串放在t所指的数组中。-C和C++指针
筛选出来,并存储到新的数组中。
首先,我们可以声明一个指针变量p,将其指向字符串s的第一个字符。然后,我们定义一个新的数组odd_chars,用于存储满足条件的字符。同时,我们需要声明一个变量odd_index,用于记录odd_chars数组中下一个可以存放字符的位置。
接下来,我们使用while循环来遍历字符串s中的每一个字符。在循环中,我们首先判断p所指向的字符的下标和ascii值是否同时为奇数。如果满足条件,我们将该字符存入odd_chars数组中,并将odd_index加1。最后,我们将p移动到下一个字符的位置。
循环执行完毕后,odd_chars数组中存储了满足条件的字符。我们可以通过循环遍历odd_chars数组,输出其中的元素,或者根据需求进行其他操作。
下面是示例代码:
```cpp
#include <iostream>
using namespace std;
int main() {
char s[] = "abcdefghi";
char* p = s;
char odd_chars[100];
int odd_index = 0;
while (*p != '\0') {
if (((p - s) % 2 != 0) && (int(*p) % 2 != 0)) {
odd_chars[odd_index] = *p;
odd_index++;
}
p++;
}
cout << "满足条件的字符为:";
for (int i = 0; i < odd_index; i++) {
cout << odd_chars[i] << " ";
}
cout << endl;
return 0;
}
```
在上述示例代码中,字符串s为"abcdefghi"。经过筛选后,满足条件的字符为'b', 'h'。
阅读全文