질문 한번더..부탁드립니다~
내꼬야
2023.04.01
while문에 있는 ==1의 의미가 무엇인지 궁금합니다--;;저는 숫자 1일때 참이다라고 생각했는데;;
아닌것 같아요;;설명 부탁드립니다;
FILE *fp = fopen ( test.txt, r );
if ( fp == NULL ) { printf ( 찾을 수 없음\n ); return; }//파일 열기
p =0;
sum=0;
while ( fscanf ( fp, %d, &data[p])==1 )
sum = sum + data[p++];
fclose ( fp );
-
이루리
fscanf()의 리턴값이 1일때 참인 것이 맞습니다.
fscanf()나 scanf()함수는 성공한 회수를 리턴합니다.
\%d %d\에 정수 둘을 입력하여 둘다 성공하면 2가 리턴됩니다.
그러나 \123 abc\를 입력하면 1개만 성공하여 1이 리턴됩니다.
굵게 칠한 부분은 fp에서 정수 하나를 입력받는 것에 성공하는 한 계속 루프한다는 뜻입니다