我想创建一个字符串数组。这是代码:
#include <stdio.h>
int main(void){
char str1[] = {'f','i'};
char str2[] = {'s','e'};
char str3[] = {'t','h'};
char arry_of_string[] = {str1,str2,str3};
printf("%s\n",arry_of_string[1]);
return 0;
}
这是行不通的行:
char arry_of_string[] = {str1,str2,str3};
我该如何纠正它?
如果你想创建一个数组strings,您缺少一个星号和终止零:
char str1[] = {'f','i','\0'};
char str2[] = {'s','e','\0'};
char str3[] = {'t','h','\0'};
char *arry_of_string[] = {str1,str2,str3};
还有一种更简单的方法来处理单个字符串:
char str1[] = "fi";
char str2[] = "se";
char str3[] = "th";
char *arry_of_string[] = {str1,str2,str3};
当您使用char x[] = "..."
构造时,字符串文字的内容(包括终止零)被复制到允许写入的内存中,产生与以下相同的效果char x[] = {'.', '.', ... '\0'}
构造。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)