일단 코드입니다.
#include <stdio.h>
#define n 2 //음식 갯수
#define m 3 //코스 갯수
struct food{
char name[100];
int calories[n];
};
struct cose{
struct food list[n];
};
void main()
{
struct cose cose[m];
int i,j, total=0;
for(j=0;j<m;j++)
{
printf("%d번째 코스의 음식과 칼로리를 입력합니다.\n",j+1);
for(i=0;i<n;i++)
{
printf("%d코스 %d번째 음식\n",j+1,i+1);
printf("음식명: ");
scanf_s("%s",cose[j].list[i].name,100);
printf("칼로리: ");
scanf_s("%d",cose[j].list[i].calories,100);
}
printf("\n");
}
for(j=0;j<m;j++)
{
total=0;
for(i=0;i<n;i++)
total+=(int)(cose[j].list[i].calories);
printf("%d코스 칼로리 총합: %d\n",j+1,total);
}
}
여기서 궁금한점이
total+=(int)(cose[j].list[i].calories); 이놈이 (int)를 빼면 오류가 나고
(int)를 넣고 해도 값이 쓰레기 값?이 나오더라고요;
구조체가 정수형이랑 문자형이랑 같이 선언되서 그런가요?