C语言字符数组与字符串的种种

#include<stdio.h>
#include<string.h>

void printByInt(char c[], int count){
    int i;
    
    printf("**");
    for(i = 0; i < count; i++){
        printf("%d ", c[i]);
    }
    printf("**");
    printf("\n");    
}

void printByChar(char c[], int count){
    int i;

    printf("**");
    for(i = 0; i < count; i++){
        printf("%c ", c[i]);
    }
    printf("**\n");    
}
void main(void){
    char c1[4] = {'A', 'B', 'C', '0'};  //不是字符串
    char c2[5] = {'A', 'B', 'C', '0', 0};
    char c3[5] = {'A', 'B', 'C', '0', '\0'};
    char c4[5] = {'A', 'B', 'C', '0'};
    char c5[ ] = {'A', 'B', 'C', '0'};  //不是字符串
    char c6[5] = "ABC0"; 
    char c7[10] = "ABC0";
    char c8[4] = "ABC0";                //不是字符串
    char c9[ ] = "ABC0";
    
    //2 3 4 6 完全等价

    printf("output by char:\n");       
    printf("c1 ");   printByChar(c1, sizeof(c1));        
    printf("c2 ");   printByChar(c2, sizeof(c2));        
    printf("c3 ");   printByChar(c3, sizeof(c3));        
    printf("c4 ");   printByChar(c4, sizeof(c4));       
    printf("c5 ");   printByChar(c5, sizeof(c5));            
    printf("c6 ");   printByChar(c6, sizeof(c6));        
    printf("c7 ");   printByChar(c7, sizeof(c7));        
    printf("c8 ");   printByChar(c8, sizeof(c8));        
    printf("c9 ");   printByChar(c9, sizeof(c9));        
    printf("\n");

    
    printf("output by int:\n"); 
    printf("c1 ");   printByInt(c1, sizeof(c1));    
    printf("c2 ");   printByInt(c2, sizeof(c2));    
    printf("c3 ");   printByInt(c3, sizeof(c3));    
    printf("c4 ");   printByInt(c4, sizeof(c4));  
    printf("c5 ");   printByInt(c5, sizeof(c5));
    printf("c6 ");   printByInt(c6, sizeof(c6));
    printf("c7 ");   printByInt(c7, sizeof(c7));    
    printf("c8 ");   printByInt(c8, sizeof(c8));    
    printf("c9 ");   printByInt(c9, sizeof(c9));    
    printf("\n");


    printf("sizeof(c1) = %-2d, strlen(c1) = %d \n", sizeof(c1), strlen(c1));
    printf("sizeof(c2) = %-2d, strlen(c2) = %d \n", sizeof(c2), strlen(c2));
    printf("sizeof(c3) = %-2d, strlen(c3) = %d \n", sizeof(c3), strlen(c3));
    printf("sizeof(c4) = %-2d, strlen(c4) = %d \n", sizeof(c4), strlen(c4));
    printf("sizeof(c5) = %-2d, strlen(c5) = %d \n", sizeof(c5), strlen(c5));
    printf("sizeof(c6) = %-2d, strlen(c6) = %d \n", sizeof(c6), strlen(c6));
    printf("sizeof(c7) = %-2d, strlen(c7) = %d \n", sizeof(c7), strlen(c7));
    printf("sizeof(c8) = %-2d, strlen(c8) = %d \n", sizeof(c8), strlen(c8));
    printf("sizeof(c9) = %-2d, strlen(c9) = %d \n", sizeof(c9), strlen(c9));

}

猜你喜欢

转载自blog.csdn.net/weixin_42072280/article/details/84500208