C 打印出一个字符串数组

标签 c arrays printf

我是 C 语言编程的新手,我正在尝试打印一个字符串数组。我可以很容易地输入,但是当它试图打印数组时,程序停止响应。感谢任何帮助,谢谢。

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

void main()
{
int a, b;
char answer[256];

for(a=1; a<=20; a++)
{
    scanf("%s", &answer[a]);
}

for(b=1; b<=20; b++)
{
    printf("%s\n", answer[b]);
}
}

更新:感谢大家的快速回复,程序运行顺利!

最佳答案

int a, b;
char answer[20][256];//<- array of char[256]

for(a=0; a<20; a++)//<- 0 origin
{
    scanf("%255s", answer[a]);//<- Reading of the string with a maximum 255 characters (One is reserved for the termination character('\0'))
}

for(b=0; b<20; b++)
{
    printf("%s\n", answer[b]);
}

关于C 打印出一个字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30308627/

相关文章:

c - 如何说服AVR-GCC全局字节数组的存储位置是一个常量

arrays - Swift 数组到 Realm 的结果

c - 为什么使用 printf(%x) 时指针的值不同?

c - 避免 printf() 中的尾随零

C从函数传递双指针

c - 在内联汇编代码中插入常量的地址

arrays - 在不同的数据源(插件数组)上烘烤蛋糕控制台

c++ - 如何修改数组指针并将其作为参数传递给需要数组作为参数的函数?

c++ - 使用 snprintf() 的 Fencepost 条件和可移植性?

c - 如何在 while 循环中加入输入值的限制?