C 언어 문제는 종종 잘못된 장소 요약을

  1. == 문자열 비교는 직접 사용을 strcmp, 사용할 수 없습니다.
  2. strcmp와 시간과 동일한 시간, 0을 반환 할 때 문이 입력되지 않은 경우합니다.
  3. 문자열에 공백이, scanf와의 만남의 공간, 캐리지 리턴으로 읽을 도착, TAB는 입력의 끝을 생각한다.
  4. 와는 scanf ( "%의 C", x)를, 사용 getchar가에주의를 기울를 가져옵니다 () 먹을 버퍼를 입력합니다.
  5. ☸는 정력 프롬프트의 앞에보고있다.
  6. . 변수 또는 그것에 메모리의 동적 할당 중 하나를 가리킨에 대한 포인터를 정의 직접 사용하지 마십시오!
  7. 그것에 한 번 할당 전체 문자열에 문자의 배열을 정의하는 경우에만 정의가 끝나면, 우리는 예를 들어, 문자의 문자를 할당 할 수 있습니다 :
	char str[7];
	str = "hello";  //错误
	//正确
	str[0] = 'a'; str[1] = 'b'; str[2] = 'c';
	str[3] = '1'; str[4] = '2'; str[5] = '3';
  1. 문자의 배열에 더하여, C 언어, 예를 들어, 문자열에 대한 포인터로서 사용되는 또 다른 방법을 나타내는 문자열을 지원
char *str ;
str = "xxxx"; //正确
或者
char *str = "xxx";
  1. 포인터 입력 동작 필요성 배열 동적 포인터 메모리를 할당.
	char *string[10] = {NULL};

    for(i = 0; i < 10; i++) {
        string[i] = (char *)malloc(sizeof(char)*20);
        scanf("%s", string[i]);
    }
게시 11 개 원래 기사 · 원 찬양 4 · 조회수 (612)

추천

출처blog.csdn.net/weixin_45626515/article/details/103668971