296
2017-06-07 07:49:46
0
scanf로 입력을 받아올때는 그 데이터변수의 주소값을 던져줘야합니다
문자배열의 변수명은 이미 (bun이나 name)그 주소값이기 때문에 상관없지만
int형 변수들은 는 들어있는 값을 나타냅니다
따라서 scanf가 값을 입력할 때 초기화 되지않은 int형 변수안의 임의의 값에 해당하는
메모리주소에 데이터를 쓰려고 시도하고 프로그램이 원하는데로 동작하지 않고 문제가 생깁니다
scanf에 쓰인 int형에 &(이게 주소지정자였나 가물한데) 이걸 붙여줘야 그 변수의 값이 아닌 할당된 메모리를 읽어서
그 메모리에 입력받은 값을 저장할 수 있을거라 보입니다
또 c언어는 변수를 만들고 반듯이 memset등으로 값을 초기화 해서 사용하는 습관을 갖는게 좋다고 이야기드리고싶네요