scanf(“%[^ \ n]”,命令)在while循环中

时间:2013-03-02 16:45:15

标签: while-loop scanf

我想要一个无限循环 每个循环获取命令,

这是我的代码

while ( 1 )
{
    char * command[100];
    printf("---| ");
    scanf( "%[^\n]",command);
    printf("%s\n",command);

}

由于某种原因它只输入一次 循环不会因询问输入而终止。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

定义应该是

char命令[100];

而不是char *命令[100] - 这是一个包含100个char指针的数组。

scanf()也不容易使用,我会使用fgets(command, sizeof(command), stdin); 然后删除换行符。

while ( 1 )
{
    char command[100];
    printf("---| ");
    scanf( "%s", command);
    printf("%s\n",command);
}