在此示例中,您將學(xué)習(xí)在動(dòng)態(tài)分配的內(nèi)存中查找用戶輸入的最大數(shù)字。
要理解此示例,您應(yīng)該了解以下C語(yǔ)言編程主題:
#include <stdio.h>
#include <stdlib.h>
int main() {
int num;
float *data;
printf("輸入元素總數(shù): ");
scanf("%d", &num);
//為num元素分配內(nèi)存
data = (float *)calloc(num, sizeof(float));
if (data == NULL) {
printf("錯(cuò)誤! ! !內(nèi)存分配。");
exit(0);
}
//存儲(chǔ)用戶輸入的數(shù)字。
for (int i = 0; i < num; ++i) {
printf("輸入數(shù)字 %d: ", i + 1);
scanf("%f", data + i);
}
//尋找最大的數(shù)字
for (int i = 1; i < num; ++i) {
if (*data < *(data + i))
*data = *(data + i);
}
printf("最大的數(shù) = %.2f", *data);
return 0;
}輸出結(jié)果
輸入元素總數(shù): 5 輸入數(shù)字 1: 3.4 輸入數(shù)字 2: 2.4 輸入數(shù)字 3: -5 輸入數(shù)字 4: 24.2 輸入數(shù)字 5: 6.7 最大的數(shù) = 24.20
在程序中,要求用戶輸入元素?cái)?shù),該元素?cái)?shù)存儲(chǔ)在變量num中。 我們將為num個(gè)浮點(diǎn)值分配內(nèi)存。
然后,要求用戶輸入num。 這些數(shù)字存儲(chǔ)在動(dòng)態(tài)分配的內(nèi)存中。
最后,確定這些數(shù)字中最大的數(shù)字并將其打印在屏幕上。