게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
아직도 문자열이 이해안되는 초보 질문드립니다....
게시물ID : programmer_14372짧은주소 복사하기
작성자 : 비공감요정
추천 : 0
조회수 : 403회
댓글수 : 12개
등록시간 : 2015/11/10 22:02:05
옵션
  • 본인삭제금지
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
 
struct student {                                    //구조체 선언
 char name[10];
 int age;
 int sid;
 int code;
};
 
int main() {
 struct student man1;
 int i = 0;
 while (i < 1) {
  fgets(man1.name, sizeof(man1.name), stdin);                    //문자열 입력
  scanf_s("%d", &man1.age);
  scanf_s("%d", &man1.sid);
  scanf_s("%d", &man1.code);
 
  i++;
 } i = 0;
 
 while (i < 1) {
  printf("%d\n", man1.sid);
  printf("%s", man1.name);
  printf("%d\n", man1.age);
  printf("%d\n", man1.code);
 
  i++;
 }
 
 return 0;
}
 
위와 같은 코드로 할시 문자열 입력이 원할하게 잘됩니다. 그런데...
 
=====================================================================================================================
 
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
 
struct student {
 char name[10];
 int age;
 int sid;
 int code;
};
 
int main() {
 struct student man1;
 int i = 0;
 while (i < 1) {
  scanf_s("%s", man1.name);               //문자열 입력 오류
  scanf_s("%d", &man1.age);
  scanf_s("%d", &man1.sid);
  scanf_s("%d", &man1.code);
 
  i++;
 } i = 0;
 
 while (i < 1) {
  printf("%d\n", man1.sid);
  printf("%s", man1.name);
  printf("%d\n", man1.age);
  printf("%d\n", man1.code);
 
  i++;
 }
 
 return 0;
}
 
이렇게 하면 문법상의 오류는 없지만 문자열 입력시 프로그램이 엑세스가 거부되었다며 중지 됩니다
다른 예제에서도 간단한 문자열 입력시 scanf함수로 잘만 입력 받던데 왜 안되는지 궁금합니다....
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호