&을 붙이으냐 마느냐....
허우룩
&관해서...&붙여야 하나요 말아야 하나요?질문 내용 :
교수님게서 오타가 많으신 편이라 좀 해깔리네요..ㅠ
getchar()를 getch() 로 적으시기도 하고
파일을 불러와 쓰기르 할때 w 대신에 wt를 쓰기도 하시고..;;
아무튼 본론은 이것입니다.
scanf나 fscanf 로 받아들이거나 읽어들일때 변수 앞에 &을 붙여 줘야 한다고 배웠습니다.
예문 scanf(%s %d, &a , &b); 뭐 이런식이죠.
물론 fscanf도 마찬가지구요.. 그런데 어디는 &가 없고 어디는 &가 있는데 둘다 돌려봤지만 애러는 뜨지 않고 잘 작동했습니다.
하지만 &붙여 주야 하는게 맞죠?
지금보니 fprintf때도 %s는 &를 붙여서 출력하고 %d는 또 &가 없네요... ㅠ입력받을때는 &가 있어야 하고 출력할때는 &가 필요 없는건가요?
-
냥냥
다음 두 가지를 기억하시길 바랍니다.
1. scanf 함수는 주소를 지정해야 한다.
2. 배열이름은 그 자체가 이미 주소다. -
플랜
어쩌면 진짜 실수 하셨을지도 몰라요..
저도 청강할 일이 작년 수업을 또 들은 적이 있는데.. 작년에 틀린 곳에서 또 틀리셨다는...
나이도 많지 않은 분이였는뎅... 켁~ -
Elfin
이 늦은 시간에도 답변을 주시고 감사합니다. 교수님게서 실수하신줄 알았는데 그게 또 아니네요. 어디선 &사용하셨다가 말았다가 그래서 해깔렸거든요... 답변 감사합니다.
-
도손
물론 printf(\%s\
-
너만
고로, 순서대로 문자 하나하나를 배열에 집어넣습니다.. string[0] string[1]..string[n] 이렇게요...
조금 이해가 안되신다면 scanf사용을 이렇게 해보세요 scanf(\%s\ -
갤3
대게 %s(문자열)을 받을때에는 &를 붙이지않는데요, 이는 char 변수선언 할때 배열로 선언하지않습니까?
ex) char string[100]; 이런식으로.. 그리고 scanf로 하여 입력을 받을때에 변수 사용을
scanf(\%s\ -
방방
getchar() 라는 함수도 있고, getch() 라는 함수도 있어요.
getchar()는 console창에서 엔터를 쳐서 입력을 받지만,
getch()는 키보드가 눌리는걸 기다렸다가 그 눌린 값을 받는애에요.. -
보나
\w\ 랑 \wt\는 같은 모드 입니다.. t는 텍스트모드인데.. 일반적으로 생략하죠..
-
참없다
scanf() 계열의 함수에서.. 일반적인경우에...
%s는 & 없이..
%d는 & 랑 같이...