while()里面怎么不用指针表示两个数组都有值
时间: 2023-11-14 20:06:10 浏览: 18
除了使用指针以外,还可以使用数组下标的方式来表示两个数组都有值。示例代码如下:
```c
int array1[] = {1, 2, 3};
int array2[] = {4, 5, 6};
int i = 0; // 数组下标
while (i < sizeof(array1)/sizeof(int) && i < sizeof(array2)/sizeof(int)) {
// 两个数组都有值,可以进行操作
// 比如打印两个数组对应位置的元素和
printf("%d + %d = %d\n", array1[i], array2[i], array1[i] + array2[i]);
// 操作完成后,将下标加一
i++;
}
```
在这个示例代码中,`i` 表示数组下标,初始值为0,然后在 `while` 循环内部,判断下标是否都没有越界,即 `i` 是否小于 `array1` 的长度,且 `i` 是否小于 `array2` 的长度。如果两个下标都没有越界,则表示两个数组都有值,可以进行操作。
相关问题
while()里面怎么表示两个数组都有值
在 `while` 循环内部,可以使用两个指针分别指向两个数组的元素,然后通过比较这两个指针指向的元素是否都存在来判断两个数组是否都有值。示例代码如下:
```c
int array1[] = {1, 2, 3};
int array2[] = {4, 5, 6};
int ptr1 = 0; // 指向 array1 的指针
int ptr2 = 0; // 指向 array2 的指针
while (ptr1 < sizeof(array1)/sizeof(int) && ptr2 < sizeof(array2)/sizeof(int)) {
// 两个数组都有值,可以进行操作
// 比如打印两个数组对应位置的元素和
printf("%d + %d = %d\n", array1[ptr1], array2[ptr2], array1[ptr1] + array2[ptr2]);
// 操作完成后,将指针向后移动一位
ptr1++;
ptr2++;
}
```
在这个示例代码中,`ptr1` 和 `ptr2` 分别指向了 `array1` 和 `array2` 的第一个元素,然后在 `while` 循环内部,判断两个指针是否都没有越界,即 `ptr1` 是否小于 `array1` 的长度,且 `ptr2` 是否小于 `array2` 的长度。如果两个指针都没有越界,则表示两个数组都有值,可以进行操作。
两数组中小写字母递增有序,指针实现两个数组中小写字母的递增输出
可以使用双指针的方法,分别指向两个数组的开头,每次比较两个指针所指向的元素大小,将较小的元素输出,并将指向该元素的指针向后移动一位,直到其中一个数组遍历完毕。以下是示例代码:
```python
def print_sorted_letters(arr1, arr2):
i, j = 0, 0
while i < len(arr1) and j < len(arr2):
if arr1[i] < arr2[j]:
print(arr1[i], end=' ')
i += 1
else:
print(arr2[j], end=' ')
j += 1
while i < len(arr1):
print(arr1[i], end=' ')
i += 1
while j < len(arr2):
print(arr2[j], end=' ')
j += 1
```
例如,对于数组 `arr1 = ['a', 'c', 'e']` 和 `arr2 = ['b', 'd', 'f']`,调用 `print_sorted_letters(arr1, arr2)` 将输出:
```
a b c d e f
```