如何解决我无法在我的 char 数组中定义一个元素
我正在学习使用 C。我有这样的代码:
int main() {
FILE *fp;
char usernames[8][20] = {"Lebron","Gasol","Davis","Schroder","KCP","Jr Smith"};
int i =0;
usernames[6][20] = 'Danny';
fp=fopen("out.txt","w");
for(i=0; i<7; i++) {
fprintf(fp,"%s\n",usernames[i]);
}
}
在我的文本文件中,没有写“Danny”。我不能添加像第 3 行这样的元素吗?定义数组后如何将元素添加到数组中?
解决方法
检查数据类型!
usernames[6][20]
是 char
类型,而 'Danny'
不是 char
类型(不是使用单引号 ''
)。你的编译器应该警告你一些
warning: character constant too long for its type
usernames[6][20] = 'Danny';
^~~~~~~
warning: overflow in implicit constant conversion [-Woverflow]
打开编译器警告。
你需要复制一个字符串,所以你应该使用strcpy()
,比如
strcpy(usernames[6],"Danny");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。