나는 2 개월의 매일의 온도를 얻고 매일의
평균을 인쇄 하는 프로그램을 만들고 싶었다
. 오류 코드는 day_avg ()가 호출되는 줄에있다.
(float를 float로 캐스팅 할 수 없음 *)
#include <stdio.h>
void day_avg(float month[],float month2[]);
int main()
{
float jul[31]={ 31,28,31,30,31,30,31,31,30,31,30,31 };
float aug[31]={ 31,28,31,30,31,30,31,31,30,31,30,31 };
day_avg(jul[31],aug[31]);
}
void day_avg(float month[],float month2[]){
int i;
float avg[31]={0};
for(i=0;i<31;i++)
avg[i]=(month[i]+month2[i])/2.0;
for(i=0;i<31;i++)
printf("\nAverage of temperature of 2 months for day %d :%.1f",i+1,avg[i]);
}
당신의 전화 day_avg(jul[31],aug[31])
는day_avg(jul, aug)
jul
그리고 aug
배열에 대한 참조이며, 함수 호출에서 그렇게 지정하는 것이 얼마나 큰지 알고 있습니다. 이는 잘못된 것이며 생각할 수있는 작업을 수행하지 않습니다. 실제로 발생하는 것은 전체 배열 대신 jul
및 배열 인덱스 31에서 값을 보내는 aug
것입니다.
두 번째 문제는 배열 인덱스 31이 배열의 범위를 벗어 났고 유효한 인덱스가 0-30
크기 31의 배열에 있다는 것입니다.
전체 어레이, 모든 날짜의 온도 데이터를 보내려고합니다. day_avg(jul, aug)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다