将字符串复制到数组中,然后使用 for 循环打印它

标签 c arrays string

我一直在尝试创建一个程序,您可以在其中将文本输入到 char 数组中。该程序确实可以编译,但是当我运行该程序时,它会打印一个没有结束的奇怪的问号字符。

int main()
    {
    char array[20];    
    int arraynumber;    
    scanf("%c", &array);    
    for(arraynumber = 0; arraynumber = 19; arraynumber++){    
        printf("%c", array[arraynumber]);
        }
    }

最佳答案

int main(int argc, char **argv)
{
    char array[20];
    int arraynumber;
    for (arraynumber = 0; arraynumber < 20; arraynumber++){
        scanf("%c", &array[arraynumber]);
    }
    for(arraynumber = 0; arraynumber < 20; arraynumber++){
        printf("%c", array[arraynumber]);
    }
}

几个问题:
1.您只读了一个字符
2.你的for循环终止是错误的

查看更正后的代码

关于将字符串复制到数组中,然后使用 for 循环打印它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31713940/

相关文章:

javascript - JavaScript 数组中的字符串

arrays - 将数组拆分为哈希

javascript - 将 50,000 多个字符的 JSON 字符串解析为 javascript 对象

c - 为什么我们不能用双指针来表示二维数组呢?

c++ - C++细粒度时间

gcc 编译 SDL 的正确命令行参数

c - 像一维数组一样初始化二维数组

arrays - swift :changing the content of an array gives me an error

php - 如何从 PHP 中存储在我的数据库中的文本中获取前 n 个单词?

c - 限制 C 字符串中十六进制转义序列的长度