请帮忙,为什么我们在数组中得到错误的元素,

问题描述 投票:0回答:1

这是我的代码:

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

int main(int argc, char \*\*argv)
{

    char db_names[3][36]={};
    
    strncpy(db_names[0],"6e64e40c-57f6-11ec-91ca-001a6496977d", 36);
    strncpy(db_names[1], "90e852c8-502d-11ec-91ca-001a6496977d", 36);
    strncpy(db_names[2], "28712b0e-57f6-11ec-91ca-001a6496977d", 36);

    printf("index 0 %s\n", db_names[0] );
    printf("index 0 %s\n", db_names[1] ); 
    printf("index 0 %s\n", db_names[2] );

return EXIT_SUCCESS;
} 

打印数组中的元素:

索引0:6e64e40c-57f6-11ec-91ca-001a6496977d90e852c8-502d-11ec-91ca-001a6496977d28712b0e-57f6-11ec-91ca-001a6496977d

索引1:90e852c8-502d-11ec-91ca-001a6496977d28712b0e-57f6-11ec-91ca-001a6496977d

索引 2:28712b0e-57f6-11ec-91ca-001a6496977d

c c-strings
1个回答
0
投票

如果要打印非终止字符数组,则需要为 printf 指定长度。

© www.soinside.com 2019 - 2024. All rights reserved.