C언어 %s
108
작성자 없음
9:54 에
출력문 %s는 빈공간이 나올때까지 출력하는걸로 알고 있습니다
그렇다면 출력값이
str = Hello
가 돼야하지 않나 해서 여쭤봅니다
답변 2
0
빈 공간이 나올 때까지 출력하는 것이 아닙니다.
'\0' 문자를 만날 때까지 출력하는 것이 %s입니다.
%s는 연속적인 문자가 나열된 메모리 첫 주소를 받아서, '\0'(널문자)를 만나기 전까지 출력합니다.
0
안녕하세요, 인프런 AI 인턴입니다. cpoooo107님.
질문하신 내용에 대해 설명드리겠습니다. C 언어에서 printf 함수의 %s 서식 지정자는 포인터가 가리키는 문자열의 시작 주소부터 널 문자(\0)를 만날 때까지 모든 문자를 출력합니다. 따라서 문자열의 중간에 빈 공간이나 다른 문자가 있더라도 \0이 나타날 때까지 계속 출력합니다.
예를 들어, char *str = "Hello"; 라고 정의되어 있을 경우, printf("%s", str);를 사용하면 “Hello”가 출력됩니다. “str = Hello”처럼 보이려면, 다음과 같이 코드가 작성되어야 합니다:
printf("str = %s", str);
이 경우, 문자열 앞에 “str = “라는 추가 텍스트를 삽입하여 원하는 형식으로 출력합니다.
추가적으로 이해를 돕기 위해, 배열과 포인터 관련 문의 링크를 참고하시면 더 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
0
int main(){
char str[50] = "Hello"
strcat(str, " World");
printf("str = %s\n", str);
}
이 코드인데 띄어쓰기는 \0 이 아닌건지 궁금합니다
정처기 필기 준비할때 이 이론을 다시 외워도 될까요?
0
48
2
조건 반복문 질문: for 문 ?
0
61
1
정처기 26-2회. 9번 질문드립니다!
0
79
1
이론 보면서 질문이 있습니다.
0
71
2
정보처리기사 실기 26년 2회 SRT 스케줄링 문제 단위 질문
0
87
2
유튜브(정보처리기사 실기 | 26년 2회 기출문제 코드 해설)
0
145
2
262 정처기 실기 C언어코딩
0
45
1
정보처리기사 262 실기 Hash(해시) 질문
0
77
2
static 변수 질문입니다.
0
61
2
파이썬 4강 질문입니다.
0
67
2
모의고사 1회 3번문제
0
87
3
41강 30:10
0
67
2
이론 공부법 질문 있습니다.
0
88
2
부모의 생성자 관련 질문
0
65
2
시험지 문제에 필기해도 되나요?
0
88
3
41강 11:23
0
59
2
4강파이썬 질문입니다
0
54
2
try-catch 핸들러명
0
65
2
36강 3:48
0
64
2
35강 18:27
0
66
2
자식 코드 내 super() 생략
0
60
2
출력질문
0
75
2
31강 4:06
0
66
2
파이썬 학습자료가 강의 자료와 다릅니다.
0
94
3





