gpt4 book ai didi

c - 菜单中的字母选项在 C 程序中声明为未声明

转载 作者:太空宇宙 更新时间:2023-11-04 06:41:40 25 4
gpt4 key购买 nike

我认为我的问题很简单,但我没有看到。我是 C 语言编程的新手,这是为了一点一点地了解我所吸收的内容。我想我一定没有正确定义我的 char 变量“dopt”。希望你能帮忙。这是代码:

#include <stdio.h>


int dbref();
int aart();
int wgame();
int calc();
int txtoc();

int amin()

{
char dopt;
printf("What should this program have the options of doing?\n");
printf("A) Reference a database?\n");
printf("B) Print ascii art?\n");
printf("C) Make a noun, pronoun, object, verb word game?\n");
printf("D) Being a calculator?\n");
printf("E) creating a text file and save it as a .c file?\n");
printf("F) or should it just terminate?\n");
scanf("%c", &dopt);
if (dopt == a || A)
{ dbref();}
if (dopt== b || B)
{ aart();}
if ( dopt==c || C)
{ wgame();}
if ( dopt==d || D)
{ calc();}
if ( dopt==e || E)
{ txtoc();}
if ( dopt==f || F)
{ return 0;}
return 1;
}

dbref()
{
printf("reference A correct");
return 2;
}

aart()
{
printf("reference B correct");
return 3;

}

wgame()
{
printf("reference C correct");
return 4;

}

calc()
{
printf("reference D correct");
return 5;

}

txtoc()
{
printf("reference E correct");
return 6;

}

作为旁注,函数中的 printf 例程只是为了验证菜单是否正确流动。

最佳答案

代码如下:

if (dopt == a || A)

应该这样写:

if (dopt == 'a' || dopt == 'A')

因为 a 将是变量或函数的名称(不存在),而 'a' 是一个字 rune 字.

或者,您可以考虑使用 switch block :

switch (dopt)
{
case 'a':
case 'A':
dbref();
break;
case 'b':
case 'B':
aart();
break;
/* etc. */
default:
fprintf(stderr, "Unrecognised option!\n");
return 1;
}

关于c - 菜单中的字母选项在 C 程序中声明为未声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7194587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com