코딩/C언어
난수의 합 (포인터)
런던전통손만두
2019. 4. 1. 16:29
반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#include <stdio.h>
#include <stdlib.h>
void generateData();
void printData();
int totalData();
int data[10]; // 계산 수행에 사용할 전역 변수
int main(void)
{
srand(200); // random 값 출력에 사용하는 함수. Seed 값을 부여
generateData();
printf("발생된 10개의 난수:\n");
printData();
printf("10개 난수의 합 = %d \n", totalData());
}
// generateData 함수는 data[0]..data[9]에 난수를 넣는다.
void generateData()
{
int k;
int *p;
p = data; //혹은 p = &data[0]
for (k = 0; k < 10; k++) // Index 0..9까지 난수값 부여
p[k] = rand() % 100; //*p++ == rand() % 100;
}
// printData 함수는 data[0]..data[9]의 값을 출력한다.
void printData()
{
int *pi = data;
int i;
for (i = 0; i < 10; i++)
printf("%d ", pi[i]); // printf("%d ", *pi++);
printf("\n");
}
// totalData 함수는 data[0]에서 data[9]까지의 값을 모두 더해 그 결과를 반환한다.
int totalData()
{
int *pi = data, sum = 0;
int i;
for (i = 0; i < 10; i++)
sum += pi[i]; // sum += *pi[i];
return sum;
}
|
cs |
결과:

반응형