저는 C를 공부하는 학생으로서 구조 및 배열을 사용하여 문자를 배열의 일부로 읽을 때 막혀있는 것처럼 보입니다.구조체에서 scanf에 char을 사용할 때 문제가 발생했습니다.
코드를 실행하면 char scanf를 건너 뛰고 문자를 읽지 않습니다. 정수 등에서 아무런 문제가 없습니다.
예를 들어 (이 코드는 훨씬 길지만 여기에 문제가 있음을 알고 있습니다). 이름을 읽는 scanf 부분이 맞습니까?
struct stud s[5];
int i = 0;
for (int i = 0; i < 5; i++)
{
fflush(stdout);
s[i].no = i + 1;
printf("\nStud number %d\n", s[i].no);
printf("Enter name:");
scanf_s("%c", &s[i].name);
printf("Enter grade: ");
scanf_s("%d", &s[i].grade);
printf("Successfully added to grade book\n");
}
나는 아래를 선언 누군가가 올바른 방향으로 날 지점 수 있다면
struct stud {
int no;
char name;
int grade;
};
그것은 좋은 것?
어떻게 될 것으로 예상 되나, 대신에 무슨 일이 일어 났습니까? – ace
이 줄은 : printf ("이름 입력 :"); 하나의 문자 만 읽히기 때문에 아마도 다음과 같아야합니다 : printf ("첫 번째 문자 입력 :"); – user3629249