#include<stdio.h> struct Numbers { int nums[20]; int count; int total; }; void findNumbers(struct Numbers *nums) { for (int i = 100;i <= 200;i++){ if(i%6==0 && i%8==0){ nums->nums[nums->count] = i; nums->count++; nums->total +=i; } } } void printNumbers(struct Numbers *nums) { printf("能同时被6和8整除的数有:"); for (int i=0;i<nums->count;i++) { printf(" %d",nums->nums[i]); } printf("\n这些数的和为;%d\n",nums->total); } int main() { struct Numbers nums = {{0},0,0}; findNumbers(&nums); printNumbers(&nums); return 0; }找出指针并解释它的指针含义
时间: 2024-04-06 08:30:37 浏览: 86
#include <stdio.h>
4星 · 用户满意度95%
在上述代码中,有两个指针被使用:
1. 在函数 `findNumbers()` 中,参数 `nums` 的类型为 `struct Numbers *`,这意味着它是一个指向 `struct Numbers` 结构体的指针。在函数内部,该指针被用来访问结构体中的成员变量,例如 `nums->nums[nums->count]` 就表示使用指针访问结构体中的 `nums` 数组,并将满足条件的整数放入其中。
2. 在函数 `printNumbers()` 中,同样的参数 `nums` 的类型为 `struct Numbers *`,这表示它也是一个指向 `struct Numbers` 结构体的指针。在函数内部,该指针被用来访问结构体中的成员变量,例如 `nums->count` 就表示使用指针访问结构体中的 `count` 变量,并输出其中存储的满足条件的整数的个数。
这两个指针的作用是在不同的函数中访问同一个 `struct Numbers` 结构体,以便存储和输出满足条件的整数。
阅读全文