형식문자열에 대해서 질문합니다.
나라빛
2023.04.01
질문 제목 : 형식문자열형식문자질문 내용 :
정수일 때는 %d
실수일때는 %f,%lf
문자일때는 %c
문자열일때는 %s
위에 대해서는 알고있습니다. 그런데 실수일때는 f lf가 두개 다 써도 되는데 문자일때는 왜 그것이 않되는지 이해가 않가더군요.
제가 문제를 푸는데 문자열을 역순으로 하는 문제였습니다. 코딩을 할 때 처음에
#includestdio.h
#includestring.hint main(void)
{
char arr[100];
int i;
char *p=arr;
printf(문자 입력하시오 : );
gets(arr); for(i=strlen(arr);i=0;i--)
{
printf(%s,*(p+i));
}
return 0;
}
이렇게 만들었는데, 역순을 할 문자를 입력하면 null이라는 결과가 나오더군요. 그래서 답지를 보니printf(%s,*(p+i));를printf(%c,*(p+i));로 바꿔야 하더군요. 무엇이 햇갈리는지는 정확하게 규명 할 수는 없지만... 왜%s는 null이 나오는지 알려주시면 감사하겠습니다.
-
이거이름임
감사합니다.
-
회전력
문자열은 char형 변수의 배열표현 입니다. %c라고 하면 딱 1개의 문자만 읽어오고 %s라고 하면 시작점부터 null이 나올때까지 문자열을 읽어옵니다.