无法获得与字符串相关的此C语言程序

时间:2015-11-26 16:16:25

标签: c scanf

所以我尝试构建这个程序,用户输入一个值(字符),程序根据用户插入的值执行特定任务,但是我无法找到我所知道的内容。我做错了...请帮助别人?

这是代码(它显然没有完成我只是试图让它适用于s的值。)

int d = 0;

do 
{
    char value;

    printf("Command list:\t \n\nCommand: \t Output: ");

    printf("\n \"A\"  \t Declare values of a list.\n \"O\"  \t Obtain the average value of the values in the list.\n");

    printf(" \"P\"  \t Print the values of the list.\n \"S\"  \t End program. \n");

    printf("Insert value: ");
    scanf(" %c", value);


    if (value == 'S' || value == 's')
    {
        d = 1;
    }
    else
    {
        printf("\n\nInvalid Command.");
    }
}
while (d = 0);

3 个答案:

答案 0 :(得分:1)

在您的代码中,更改

scanf(" %c", value);

scanf(" %c", &value);

因为scanf()需要变量的地址来存储扫描值。

答案 1 :(得分:0)

更改此行

scanf(" %c", value);

到这个

scanf(" %c", &value);

你需要传递一个指向scanf的指针,以便它更新指针指向的值

答案 2 :(得分:0)

你错过了把&放在争论之前。你需要改变

scanf(" %c", value);

scanf(" %c", &value);
             ^
             |