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

时间:2015-07-30 01:46:58

标签: c arrays string

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

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

2 个答案:

答案 0 :(得分:0)

尝试:

  1. 从scanf(“%c”,&数组)更改为scanf(“%s”,& array)
  2. 作为正确的“for-loop”工作你必须运行20次,即0-19。 将你的循环改为:for(arraynumber = 0; arraynumber< = 19; arraynumber ++)

答案 1 :(得分:0)

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]);
    }
}

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

查看更正后的代码