gpt4 book ai didi

c - 为什么这个 C 函数不返回整数值?

转载 作者:行者123 更新时间:2023-11-30 21:47:32 26 4
gpt4 key购买 nike

当我尝试执行程序时,出现错误。我无法读取“ch”中的最后一个值:

int choi(char *Tvide[48])//permet de choisir la place selon les choix de l utilisateur
{
char fum, classe, pos;

printf("\n S.V.P choisissez votre Classe (A:1 ere classe )/(B: 2 eme classe): ");
classe = getche();
printf("\n Est ce que vous etes fumeur (O:fumeur)/(N:non fumeur):");
fum = getche();
printf("\n S.V.P vous preferez s''assoir pres de la fenetre ou du couloir(C:couloir )/(F:fenetre):");
pos=getche();

int Tfum[24] = {3,4,7,8,11,12,15,16,19,20,23,24,27,28,31,32,35,36,39,40,43,44,47,48};
int Tnfum[24] = {1,2,5,6,9,10,13,14,17,18,21,22,25,26,29,30,33,34,37,38,41,42,45,46};
int Tfen[24] = {1,4,5,8,9,12,13,16,17,20,21,24,25,28,29,32,33,36,37,40,41,44,45,48};
int Tcol[24] = {2,3,6,7,10,11,14,15,18,19,22,23,26,27,30,31,34,35,38,39,42,43,46,47};
int k;

char Tdispo[48];

for(k=1; k<=48; k++) { Tdispo[k]='o'; } // on met içi le tableau des places vides

if (classe=='A')
{
for(k=9;k<=48;k++) { Tdispo[k]='n'; }
}
if (classe=='B')
{
for(k=1;k<=9;k++) { Tdispo[k]='n'; }
}
if (fum=='O')
{
for(k=1;k<=24;k++) { Tdispo[Tnfum[k]]='n'; }
}
if (fum=='N')
{
for(k=1;k<=24;k++) { Tdispo[Tfum[k]]='n'; }
}
if (pos=='C')
{
for(k=1;k<=24;k++) { Tdispo[Tfen[k]]='n'; }
}
if (pos=='F')
{
for(k=1; k<=24; k++) { Tdispo[Tcol[k]]='n'; }
}

int s;

printf("Les places disponibles sont:");

for(s=1; s<=48; s++)
{
if(Tdispo[s] == 'o') { printf("%d",s,"~"); }
}

int ch;
printf("\n S.V.P introduire votre choix :");
scanf("%d",ch);

Tvide[ch]=='n';
int ch1 = ch;
return ch1;
}

什么可能导致此行为?

最佳答案

你应该有

scanf("%d",&ch);

不是

scanf("%d",ch);

因为 scanf 的结果存储在名为 ch 的变量中。

关于c - 为什么这个 C 函数不返回整数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1203926/

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