playXP

서브 메뉴

Page. 2497 / 12507 [내 메뉴에 추가]
글쓰기
작성자 아이콘 기라졸
작성일 2018-03-08 21:21:16 KST 조회 754
제목
오류 코드

 

 

3번에 scanf_s 에서 & 붙이니까 앞에 글에서 올린 오류는 사라졋는데 결과가  

 

메모리값 튀어나와서 당혹스럽네여 혹시 조언 가능 하신분 계신가요

 

#include <stdio.h>

 

int main()

{

int arr[5];

int Max = 0, Min = 0, Sum = 0;

 

for (int i = 0; i < 5; i++)

scanf_s("%d", &arr);

 

Max = *arr;

Min = *arr;

 

printf("%d\n", Max);

 

for (int i = 0; i < 5; i++) {

Max = (Max > arr ? Max : arr);

Min = (Min < arr ? Min : arr);

printf("Max:%d    Min:%d\n", Max, Min);

}

 

for (int i = 0; i < 5; i++)

Sum += arr;

 

printf("Max : %d\nMin : %d\nSum : %d", Max, Min, Sum);

 

scanf_s("%d", &Max);

 

return 0;

}​ 

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

아이콘 기라졸 (2018-03-08 21:21:31 KST)
0↑ ↓0
센스 이미지
#include <stdio.h>

int main()
{
int arr[5];
int Max = 0, Min = 0, Sum = 0;

for (int i = 0; i < 5; i++)
scanf_s("%d", &arr);

for (int i = 0; i < 5; i++) {
if (Max < arr)
Max = arr;
if (Min > arr)
Min = arr;
}

for (int i = 0; i < 5; i++)
Sum += arr;

printf("Max : %d\nMin : %d\n Sum : %d", &Max, &Min, &Sum);

scanf_s("%d", &Max);

return 0;
}
아이콘 기라졸 (2018-03-08 21:26:37 KST)
0↑ ↓0
센스 이미지
if문 달아놓은거 왠지 쓰레기같아서

Max = (Max > arr ? Max : arr);
Min = (Min < arr ? Min : arr);

이렇게 수정했는데도 안되는걸보면 조건문이 문제가 아닌거같다
아이콘 기라졸 (2018-03-08 21:27:09 KST)
0↑ ↓0
센스 이미지
[ i ] 이거 왜 사라지냐
아이콘 CF_Crusader (2018-03-08 21:31:42 KST)
0↑ ↓0
센스 이미지
printf에 있는 &는 빼보세요
아이콘 기라졸 (2018-03-08 21:32:05 KST)
0↑ ↓0
센스 이미지
맙소사 printf에 & 달아놔서 메모리값이 불려온거군
아이콘 기라졸 (2018-03-08 21:32:33 KST)
0↑ ↓0
센스 이미지
알아채고난뒤에 알아챘다고 자랑스럽게 알려드리러왓는데 한발 늦었다
아이콘 기라졸 (2018-03-08 21:36:35 KST)
0↑ ↓0
센스 이미지
맨 위에 Min = 0하고 초기화하니까 개판나서

Max = arr;
Min = arr;

하고 초기화시킨다음에 반복문돌리니까 Max값이 주소값 불려와서 난리가낫는데 이건 왜그런가요?
아이콘 LingTone (2018-03-08 21:37:11 KST)
1↑ ↓0
센스 이미지
근데 님 이 코드 정상 작동됨? 돌려보니까 잘 안 되는데
아이콘 기라졸 (2018-03-08 21:37:20 KST)
1↑ ↓0
센스 이미지
*arr 하니까 1로 나오네
아이콘 기라졸 (2018-03-08 21:37:53 KST)
1↑ ↓0
센스 이미지
댓글코드 복붙하면 안돌아가요 [ i ] 이거 기울임체로 다 날아가버려서;
아이콘 LingTone (2018-03-08 21:38:45 KST)
1↑ ↓0
센스 이미지
엥 진짜네
아이콘 어그로중독자 (2018-03-08 21:38:46 KST)
1↑ ↓0
센스 이미지
#include <stdio.h>

int main()
{
int arr[5];
int Max = 0, Min = 0, Sum = 0;

for (int i = 0; i < 5; i++)
scanf_s("%d", arr+i);

Max=arr[0];
Min=arr[0];
for (int i = 1; i < 5; i++) {
if (Max < arr[i])
Max = arr[i];
if (Min > arr[i])
Min = arr[i];
}

for (int i = 0; i < 5; i++)
Sum += arr[i];

printf("Max : %d\nMin : %d\n Sum : %d", Max, Min, Sum);


return 0;
}
아이콘 어그로중독자 (2018-03-08 21:40:33 KST)
1↑ ↓0
센스 이미지
글고 이건 내 개인적인 의견인데 printf나 scanf 같은 문자열 처리와 UI는 C언어에서 가장 나중에 배워야 할 것들 중 하나임
아이콘 기라졸 (2018-03-08 21:40:56 KST)
1↑ ↓0
센스 이미지
열혈강의에서 본 기억이 되살아난다

배열이랑 포인터랑 비슷하게 생겨쳐먹어서 arr랑 (*arr+i)랑 구조랑 같다고 햇던거같다

*(arr+i)인가?
아이콘 CF_Crusader (2018-03-08 21:41:35 KST)
1↑ ↓0
센스 이미지
arr을 통째로 불러와서 그렇습니다
배열안의 값만 불러오는 식으로 하실꺼면 위의 댓글처럼 하세용
아이콘 LingTone (2018-03-08 21:42:53 KST)
0↑ ↓0
센스 이미지
*arr이 arr[0]과 같습니다. 배열의 이름이 배열의 첫번째 인덱스의 주소를 나타내기 때문에,,,
아이콘 기라졸 (2018-03-08 21:43:10 KST)
1↑ ↓0
센스 이미지
기억나서 지워버렷는데 바로 답변해주셧넹 감사합니다
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.