C 언어 에서%c 와%s 의 차이 점 과 구분 에 대한 상세 한 설명

3558 단어 C 언어%c%s
%c 형식 은 하나의 문자 에 대응 하고%s 형식 은 문자열 에 대응 합 니 다.
예:

char a;
char b[20];
scanf("%c",&a); //        。
scanf("%s",b); //         20      。
%c 대응 유형 은 char,%s 대응 유형 은 char*,즉 문자열 입 니 다.
입력 에 사용 할 때,양자 매개 변 수 는 모두 char*형 으로 전달 해 야 합 니 다.
%c 입력 함 수 는 한 바이트 공간 에 만 값 을 부여 합 니 다.%s 는 입력 중 공백 문자 가 발생 할 때 까지 계속 값 을 부여 합 니 다.
출력 에 사용 할 때%c 전송 char 형식 으로 문 자 를 출력 합 니 다.%s 전송 char*형식 매개 변 수 는\0 까지 출력 합 니 다.
%c 는 한 글자 만 출력 하거나 입력 할 수 있 습 니 다.%s 는 한 줄 의 문자 와 char a 만 출력 합 니 다.string s;
입력 할 때 scanf("%c",&a);여기&빠 질 수 없어 요.
scanf("%s",s);여기에&기호 가 있 으 면 안 돼 요.
변환 설명자

   %a(%A)        、       p-(P-)   (C99)
   %c         
   %d               
   %f          (  float doulbe)
   %e(%E)           [e-(E-)   ]
   %g(%G)              "0"
   %i               ( %d  )
   %u               
   %o              e.g.   0123
   %x(%X)          0f(0F)  e.g.  0x1234
   %p         
   %s          
   %%       "%"
질문
2.표지
왼쪽 정렬:"-"예:"%-20"
오른쪽 정렬:"+"예:"%+20"
3.형식 문자열(형식)

 〔  〕〔      〕〔.  〕〔  〕  
 "%-md" :    , m     ,     。
 "%m.ns" :   m ,    (  )n ,    , n>m or m   m=n
 "%m.nf" :      ,m   ,n        
 "%3.1f" :    3852.99   3853.0 
질문
긴 말 안 할 게 요.그냥 코드 보 세 요~

#include<stdio.h>
void main(){
 int a;
 char b; 
 
 printf("input a integer
"); scanf("%d",&a); // , printf("input a char
"); scanf("%c",&b); printf("%d,%c
",a,b); } /* (1) getchar() (2) "%1s" (3) "%*c" " " (4) fflush(stdin) */
다음은 두 번 째 방법 을 사용 하 겠 습 니 다.

#include<stdio.h>
int main(){ 
 
 int a;
 char b; 
 
 printf("input a integer
"); scanf("%d",&a); // , printf("input a char
"); scanf("%1s",&b); printf("%d %c
",a,b); system("pause"); return 0; }
환경(dev c++)
테스트 결과

a 의 값 이 이상 하 다 는 것 을 알 수 있 습 니 다.왜 일 까요?
이것 은%1s 의 입력 방식 에 문제 가 있 기 때문에 컴 파일 러 와 관계 가 있어 야 합 니 다.
해결 방법 은 두 가지 가 있다.
첫째:
char b;
int a;
이 두 변수의 성명 을 바 꿔 보 세 요.하하,예전 에 선생님 께 서 말씀 하 셨 어 요.그러나 나 는 해결 방법 이 아니 라 다른 변수 가 있다 면 이런 방식 이 다른 것 에 해 를 끼 칠 수 있 지 않 을 까 하 는 생각 이 들 었 다.
두 번 째:

#include<stdio.h>
int main(){ 
 
 int a;
 char b[2]; 
 
 printf("input a integer
"); scanf("%d",&a); // , printf("input a char
"); scanf("%1s",&b); printf("%d %c
",a,b[0]); system("pause"); return 0; }
b 성 명성 문자 창조 의 형식,하하,이거 좋아요...
결 과 는:

이상 의 C 언어 에서%c 와%s 의 차이 점 과 구분 에 대한 상세 한 설명 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 저희 도 많이 응원 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기