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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | #include <stdio.h> void read_array(int *arr, int); void detect_num (int arr[], int, int *first, int *second); void display_array(int arr[], int, int, int); int main() { int size, first, second; printf ("Enter the desired size of the array: "); scanf ("%d", &size); int arr [size]; read_array(&arr, size); detect_num(&arr, size, &first, &second); display_array(arr, size, first, second); return 0; } void read_array (int *arr, int size) { for (int i = 0; i < size; i++) { printf ("Enter a number for position %d: ", i); scanf ("%d", &arr[i]); } } void detect_num (int arr[], int size, int *first, int *second) { first = arr[0]; second = arr[0]; for (int i = 1; i < size; i++) { if (arr[i] >= first) { second = first; first = arr[i]; printf ("first is %d second is %d",first, second); } } } void display_array(int arr[], int size, int first, int second) { printf ("\nThe numbers you entered are:"); for (int i = 0; i < size; i++) { printf (" %d", arr[i]); } printf ("\nThe largest of these numbers is: %d", first); printf ("\nThe second largest of these numbers is: %d", second); } | cs |
배열을 입력하고 거기서 가장큰수 그리고 그다음 큰수를 찾아주는거에요
display함수로 출력을 하면 다른건 다 정상적인데 first second얘네 둘이 에러가나는지 이상하게 큰수로 나와요
해당 댓글은 삭제되었습니다.
힝 봐줘영
브레이킹 포인트 찍고 디버깅 해보는 습관을 들이자
찾았다!!!’
실행시간중에 크기를 할당할거면 동적할당으로 바꾸고 매개변수로 배열전달할때도 배열은 배열이름이 그주소임
무슨말이지
이게 뭔말인지 모르면 공부를 제대로 안한거니 공부나더해라
나도 찾았다