gpt4 book ai didi

C - if/else 语句

转载 作者:太空宇宙 更新时间:2023-11-04 01:11:31 24 4
gpt4 key购买 nike

我相当擅长 if/else 语句,这是一个非常古老的任务,我最终只完成了部分任务。但我仍然想知道为什么我的代码不起作用。

我希望我的用户输入姓名、高度和性别。然后,我的代码将显示一个完整的句子,内容为“姓名高 X 厘米,男性”或“姓名高度 X 厘米,女性”。

当我输入姓名并输入时,它会立即跳过显示高度和性别。不管之后我输入什么,它都会结束程序。

输入姓名: jack 输入高度(厘米):180性别(男/女):计算机 $

我已经研究这段代码一段时间了,但现在我被卡住了一段时间。任何帮助将不胜感激。这是我的代码:

#include<stdio.h>

int main() {
char name[30];
char sex;
float height;

printf("Input name: ");
scanf("%s", name);
fflush(stdin);
printf("Input height in cm: ");
scanf("%f", &height);
fflush(stdin);

printf("sex(M/F): ");
scanf("%c", &sex);
if (sex == 'M')
{
printf("%s is %f cm tall and male", name, height);
}
else if (sex == 'F')
{
printf("%s is %f cm tall and female", name, height);
}
printf("\n");
return 0;
}

最佳答案

据我所知,它只跳过了性爱部分 - 老实说,这让人很难过 :-))。

it immediately then skips displays both the height AND the sex

Input name: Jack Input height in cm: 180 sex(M/F): Computer $

你可以试试这个:

scanf(" %c", &sex);
^

空格导致 scanf 在读取字符之前吃掉空白。

关于C - if/else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11611958/

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