최근들어 프로그래밍에 조금씩 흥미가 생겨서 공부중인 공대생입니다
첫글이 질문글이라 죄송한 마음이 들지만 궁금한 점이 있어서 이렇게 질문드려봅니다
아래는 제가 짠 코드인데 a라는 파일을 만들어서 정보 입력해두고(.txt 형식으로) b라는 파일에 저장되게 하는건데
코드는 정상적으로 되는데 아래에 제가 색 처리해 놓은 부분에 대해서 궁금한 점이 있습니다
#include <stdio.h>
int main()
{
char name[20];
double weight;
double bmi = 0;
double height, mheight = 0;
FILE *fp1, *fp2;
if((fp1=fopen("a.txt", "r"))==NULL)
{
printf("파일 오류\n");
exit (1);
}
if((fp2=fopen("b.txt", "w"))==NULL)
{
printf("파일 오류\n");
exit (1);
}
fgets(name, sizeof(name), fp1);
name[strlen(name)-1] = '\0';
fscanf(fp1, "%lf %lf", &weight, &height);
mheight = height / 100;
bmi = weight / (mheight * mheight);
fprintf(fp2, "이름 : %s, BMI : %6.1lf\n", name, bmi);
fprintf(fp2, "체중 : %lfkg, 키 : %lf", weight, height);
fclose(fp1); fclose(fp2);
return 0;
}
선언할 때 double로 안하고 long으로 선언하고 밑 부분을 lf로 두게 되면 안되는건 알겠는데(double은 lf고 long은 f니까)
이름부분도 같이 안되더라구요 그런데 이름은 %s로 받고 선언을 배열로 해놨으니 문제없고
long으로 쓰나 double로 쓰나하는것은 이름과는 관련없다고 생각되는데 왜 이름도 같이 안되는 걸까요?
궁금해서 질문 드려봅니다 제 머리로는 이해가 잘 안되네요