c - 如何在C中填充字符串数组
问题描述
我目前正在学习 C,并试图用循环填充字符串数组作为一个简单的练习。我只是想用“你好”这个词来填充所有 4 个元素。当我打印出我的数组时,我得到如下输出:
messages[0] = HelloHelloHelloHello
messages[1] = HelloHelloHello
messages[2] = HelloHello
messages[3] = Hello
出于一个奇怪的原因,前 3 个元素的单词 hello 重复了多次。我不明白为什么会这样。
这是我的代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(){
char messages[4][5];
for(int i = 0; i < 4; i++){
//&messages[i] = (char *)malloc(5);
strcpy(messages[i],"Hello");
}
for(int i = 0; i < 4; i++){
printf("messages[%d] = %s\n", i, messages[i]);
}
return 0;
}
我也尝试寻找方法来做到这一点,我发现了一些关于使用 malloc 的东西,但我只是不断收到编译器错误。
解决方案
推荐阅读
- sql - 将日期时间转换为 mm-dd-yyyy 格式的日期,以便在 SQL 中与 between 子句一起使用
- firefox - 如何检测任何浏览器支持 WebRTC 中的哪个编解码器?
- c# - 如何在基于 Web 的应用程序上使用自动化从 android 设备上传文件
- ios - iOS Voiceover 对组合框小部件的支持
- node.js - Hobspot webhook 问题
- include - clang 在同一目录中包含多个搜索路径
- git - 如何发送合并请求?
- putty - 使用 PuTTY 从 STM32 打印
- php - 我如何在 php 中发送soapClient 请求
- wpf - WPF 组合框应该只在箭头上打开