函数的返回值是指针

xiaoxiao2021-02-28  50

#include<stdio.h> #include<stdlib.h> #include<time.h> int num1 = 10; int num2 = 20; int *go() //go()的返回值是一个指针(地址) { return &num1; } void main1() { printf("%d\n", *go()); system("pause"); } //使用随机数生成一个数组,写一个函数查找最小的数,并返回最小数的地址,在主函数中打印出最小数。 int *mindata(int num[], int n) { //int min = 0; //for (int i = 1; i < n; i++) //{ // if (num[i] < num[min]) // { // min = i; // } //} //return num + min; int *min = num; for (int i = 1; i < 10; i++) { if (*(num + i) < *(min)) { min = num + i; } } return min; } void main() { int num[10]; time_t ts; srand((unsigned int)time(&ts)); for (int i = 0; i < 10; i++) { num[i] = rand() % 100; printf("%d\n", num[i]); } printf("其中的最小值为:%d\n", *mindata(num, 10)); printf("------------------------------------------\n"); *mindata(num, 10) = 1000; //用途:可以根据地址修改指定的数据 for (int i = 0; i < 10; i++) { printf("%d\n", num[i]); } system("pause"); }
转载请注明原文地址: https://www.6miu.com/read-71668.html

最新回复(0)