xi_ui
2015-09-08 10:57
采纳率: 40%
浏览 5.1k
已采纳

C语言中怎么用数组接收多个字符串

#include

int main() {

char *colour[5];

colour[0] = "red";
colour[1] = "yellow";
colour[2] = "green";
colour[3] = "blue";
colour[4] = "pink";

return 0;

}

//请问这种方法对不对?
//如果想用键盘输入(scanf),该怎么定义?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • threenewbee 2015-09-08 11:22
    已采纳
     #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        char ** color = (char **)malloc(5 * sizeof (char *));
        for (int i = 0; i < 5; i++)
        {
            color[i] = (char *)malloc(100 * sizeof (char));
            scanf("%s", color[i]);
        }
        for (int i = 0; i < 5; i++)
            printf("%s", color[i]);
    }
    
    已采纳该答案
    打赏 评论
  • threenewbee 2015-09-08 10:58
     char colour[5][];
    
    5 打赏 评论
  • 91program 2015-09-08 11:03

    你的写法也就可以的,即使用:指针数组。colour 的每个元素都是指针,没有问题。

    3 打赏 评论

相关推荐 更多相似问题