c언어 | ‘\0’ 과 ‘ ‘는 다르다.

공백은 null(‘\0’)이 아니다.

샘플 예제

“Hello, World!”의 사이에 공백이 있는데 공백을 인식한다. 궁금하면 %c를 %d로변경해서 출력해보면 띄어쓰기에대한 아스키코드 값이 나온다.

#include <stdio.h>

int stringLength(char str[]){
    int length = 0;
    while (str[length]!='\0'){
        printf("값: %c\n", str[length]);
        // printf("문자[%d]: '%c' (ASCII: %d)\n", length, str[length], str[length]);
        length++;
    }
    return length;
}

int main(){
    char myString[] = "Hello, World!";
    int length = stringLength(myString);
    printf("문자열의 길이: %d\n", length);
    return 0;
}#include <stdio.h>

int stringLength(char str[]){
    int length = 0;
    while (str[length]!='\0'){
        printf("값: %c\n", str[length]);
        length++;
    }
    return length;
}

int main(){
    char myString[] = "Hello, World!";
    int length = stringLength(myString);
    printf("문자열의 길이: %d\n", length);
    return 0;
}