当前位置: 首页 > 知识库问答 >
问题:

代码跳过驱动程序2名称的输入

弘和同
2023-03-14

我正在编写代码来打印三个驱动程序的详细信息,但问题是程序正确地输入了驱动程序1,但跳过了驱动程序2和3名称的输入,尽管提供了输入,它还是将行驶的距离打印为0.0

#include<stdio.h>
struct data
{
    char name;
    int dlo;
    char route;
    float km;
}s1,s2,s3;
void details(struct data *d)
{
    printf("Enter your name: ");
    scanf(" %s",&d->name);
    printf("Enter your driving license no: ");
    scanf("%d",&d->dlo);
    printf("Enter route taken: ");
    scanf("%s",&d->route);
    printf("Enter distance travelled: \n");
    scanf("%.2f",&d->km);
}
void output(struct data *d)
{
    printf("Driver name: %s\n", &d->name);
    printf("Driving license no: %d \n", d->dlo);
    printf("Route taken: %s\n", &d->route);
    printf("Distance travelled: %.2f \n", d->km);
}
int main()
{
        printf("\n--------------driver 1---------------\n");
        details(&s1);
        printf("\n");
        output(&s1);
        printf("\n--------------driver 2---------------\n");
        details(&s2);
        printf("\n");
        output(&s2);
        printf("\n--------------driver 3---------------\n");
        details(&s3);
        printf("\n");
        output(&s3);
    return 0;
}

输出是这样的:

--------------driver 1---------------
Enter your name: abhishek
Enter your driving licence no: 123
Enter route taken: abcd
Enter distance travelled: 
123

Driver name: abhishek
Driving licence no: 123
Route taken: abcd
Distance travelled: 0.00

--------------driver 2---------------
Enter your name: Enter your driving licence no: 321
Enter route taken: efgh
Enter distance travelled: 
45 

Driver name: 123
Driving licence no: 321
Route taken: efgh
Distance travelled: 0.00

共有1个答案

夏侯弘量
2023-03-14

问题是我使用了<code>%。scanf中的2f,这导致了运行时错误,因此更改了scanf(“%.2f”,

我非常感谢大家的建议。

 类似资料:
  • 我正试图在eclipse中运行我的第一个webdriver脚本。使用jre1。8.0_1111. 我使用了下面的代码,但它显示了错误。请帮我查一下密码。 错误堆栈 线程“main”java中出现异常。lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver设置。壁虎。驱动系统属性;有关更多信息,请参阅github。com/mozilla/geckodr

  • 作为JDBC的新手,我被教导使用将驱动程序注册到,这似乎不适用于我的代码: 每当我编译和运行时,结果总是1,0,0,1。我哪里做错了?

  • 新的Google chrome更新会在浏览器中出现这样的信息:“您正在使用不受支持的命令行标志:--Ignore-Certifice-Errors。稳定性和安全性将受到影响。” 根据我在selenium bug报告中读到的内容,临时解决方案是启动webdriver

  • 我正在尝试连接一个db并在NetBeans中显示combobox,我将此作为输出: SEVERE: null java.sql.SQLException:没有为jdbc: sqlserver: DESKTOP-4N1HNP8找到合适的驱动程序;在java.sql.DriverManager.get连接(DriverManager.java:689) 在java.sql.DriverManager.

  • 我不太明白我在做什么,我做错了什么。请帮我修改/完成我的代码。我应该用你选择的输入数据创建至少3个Student对象,以使用类的构造函数初始化Student对象的所有数据字段。声明ArrayList对象以保存学生对象。将学生对象添加到ArrayList对象。调用Student类的toString方法,使用ArrayList对象中的Student对象打印学生的全名,后跟出生日期和每个学生的地址。 如

  • 我需要关于在某个测试用例中等待元素的帮助。在其中一个测试中,我检查了拨号器上电话号码的准确性。在我按下应用程序中的按钮后,拨号程序将打开。问题是,要从拨号器返回应用程序,我必须按几次返回键,但次数可能因设备而异。 所以我所做的就是检查我现在在哪里。请看下面的代码。问题是,如果找不到元素,则 函数开始运行,然后我必须等待10秒,直到它结束。 你会建议我做什么来防止系统这次等待。 测试: 等待司机。