scanf("%s", (String))는 버퍼에 아무 것도 없다면 입력받고 화이트 스페이스나 \0를 만날 때까지 버퍼에 있는 것들을 순서대로 사출한다 gets((String))은 버퍼에 아무 것도 없다면 입력받고 \0를 만날 때까지 버퍼에 있는 것들을 순서대로 사출한다
scanf() 어려워요 char asdf; 같은 경우 아스키문자 하나인데 이건 받을때 &asdf 로 표기해줘야하고 asdf 가 배열일 경우엔 받을때 asdf 처럼 앞에 주소연산자(&) 를 생략 가능하더이다... 데비안 gcc 에서 실험해봤씁니다...
https://gitlab.com/soyeomul/test/-/commit/eeda94c41f2b8d73398b15e19bb78600ef7bf4aa
어떻게 동작해야 안어려운거야?
파이썬...
그리고 c언어 포인터가 어려운게 같은 배열이라도 int 와 char 에 주소로 접근하는 문법이 다르거라구요 첫번째 댓글이 그건데... 이런 일관성이 없어서 포인터를 할때 품(시행착오)이 많이 듭니다 그래서 사람들이 노래를 부릅니다 문자열 처리는 파이썬~
음... %s 연산자만 다르네요 아... 이렇게 복잡하다니...
char 배열의 한 배열요소를 상대로 scanf 적용 %c 로 했을때...
https://gitlab.com/soyeomul/test/-/blob/4799034b1f90e360f25c986ffcdb744e8945583c/scanf.c
int랑 char가 주소접근법이 다르다구? 이게 무슨 뜻이야 char이 이름이 character지 실상은 1바이트 signed integer 타입이야. 문자열이 1바이트의 배열이니 문자열 취급할 때 char를 쓰는거고... 포인터에 덧뺄셈할 때 더해지는 단위가 달라진다 이걸 말하는걸까?
아 아닙니다 바로 윗댓에서 제 궁금증을 해결했습니다 일관성이 없눈줄 알앗더니 일관성이 잇더이다... 표현식에서 %s %c 의 차이가 존재할 뿐이더라구요 우따 머리가 어질어질합니다 c언어...