C语言输入问题

   更新日期:2024.03.28
最好用一个scanf();把所有要输的东西都放进去,因为scanf 是你" "里面 什么样的格式,你在输入的时候必须按照那样的格式
例如:
scanf("%d,%d",&a,&b);那么在输入时就要输a,b 如果是scanf("%d %d",&a,&b);就要这样输:a b
多个scanf 连在一起 我还没用过。所以建议 一个scanf把你要连在一起输的数据 都输进去;程序中输入的时候a= 这些都不必要 可以把程序改了:
scanf("%d %c %ld %f %lf",&a,&b,&c,&d,&e);输入的时候:a b c d e
这样就好了
输出也错了 只需要:printf("a=%d b=%c c=%ld d=%f e=%lf",a,b,c,d,e);以此类推 不需要带上&符号 否则是错误的

不能输出4个5角是因为for (c = 0; c < x * 10 / 5; c++),这个条件,当c等于4的时候,不符合条件,你写的是<4,应该写成<=4,其他几个条件类似,如下图片,你可以debug一步步看看:

printf("&a=%d\n&b=%c\n", a, b);
printf("&c=%ld\n", c);
printf("&d=%f\n&e=%lf", d, e);

// scanf需要把输入的字符串解释成格式串如”a=%d b=%c“指定的数据类型,如int, char. 然后把转换成的数据结果存放在指定的地址,所以&a, &b需要以变量的地址作为参数传给scanf.

// 而printf要把传给它的各种数据类型的变量的值根据格式串如"&a=%d\n&b=%c\n"中指定的数据格式来输出,如a, b分别与格式串中的%d, %c对应,分别表示输出格式为十进制有符号整数、字符。所以a, b需要把它们的值作为参数传给printf

如果scanf语句不改,那应该输入a=1 b=1等等,如果为了输入方便,可以把a=,b=,都去掉。
你说的是输出地址,地址有两个字节长,输出的使用要用整形,而不能是浮点型,所以所有的输出类型都应改为%d。已测试可正确输出地址。

你的scanf用的不好,按你这样的用法,需要输入:
a=1 b=2
类似的格式
你printf的时候使用&a,并不是输出a的值,而是输出a的地址

  • 15112494246 :C语言循环输入问题
    广研恒2321 :答:include<stdio.h> int isTriangle();void main(){ while(!isTriangle());printf("\n");} int isTriangle(){ int a, b, c;printf("请输入三角形的三边(整数):\n");scanf("%d%d%d",&a,&b,&c);printf...
  • 15112494246 :关于C语言的输入问题
    广研恒2321 :答:1,连续输入两个字符串:int i=0;char a[2];while(2!=i){ a[i]=getchar();i++;} 2.%c是读取一个字符,当键盘输入一个字符后,会自动执行%s,而%s是字符串,至于接收到回车才会认为字符串结束,才会执行%c。
  • 15112494246 :c语言中数据输入错误了如何提示输入错误并实现要求重新输入
    广研恒2321 :答:可以使用清理输入流fflush(stdin);这个原因是因为错误输入的内容会保留在输入流,下一次判断会从输入流开始读取,因为错误输入的内容还在,所以直接判断错误,继续循环。但有些编译器并不支持清理输入流。所以我们这时需要用手动...
  • 15112494246 :c语言的字符输入问题
    广研恒2321 :答:include<stdio.h> main(){ char c;scanf("%c",&c);//输入abc并按回车后,字符变量c存的是‘a’,bc回车符存在缓冲区 while(c!='+'&&c!='-'&&c!='*'&&c!='/'){ printf("agin\n"),scanf("%c",&c...
  • 15112494246 :c语言输入字符串的方法有哪些?
    广研恒2321 :答:4.接下来我们通过printf函数提示用户输入字符串,通过scanf接收用户输入的字符串。5.接着在通过printf函数输出用户输入的内容。6.最后运行C语言程序,我们输入内容以后就可以输出了。这样就解决了c语言从键盘输入字符串的问题了...
  • 15112494246 :有关C语言的scanf输入问题
    广研恒2321 :答:假定 scanf("%f%e",&a,&y); 应当是 scanf("%f%e",&x,&y);--- 用的都是 scanf(), 可以看成:scanf("a=%d b=%d %f %e %c %c",&a,&b,&x,&y,&c1,&c2);简单地 用 1行 文字拍入:a=3 ...
  • 15112494246 :C语言输入问题
    广研恒2321 :答:程序在执行过程中一直在等待用户输入,如果输入不是<回车>的话,将输入的数据存放到一个缓冲区里面。如果此时发现输入是回车,就会将在缓冲区里面的数据进行按照"%f"进行格式化,格式化完时发现已经完成了格式化的信息,将会退出...
  • 15112494246 :C语言二维数组输入错误后怎么报错重新输入
    广研恒2321 :答:数据输入错误,有两种情况:1 输入的数据格式不正确,比如要求输入整型,但是输入了字符型。这种情况,可以通过scanf的返回值进行判断,scanf的返回值是正确输入的变量个数。当返回值和要输入的变量个数不同时,则表示出错,...
  • 15112494246 :c语言scanf(输入函数的使用方法和注意事项)
    广研恒2321 :答:scanf函数是C语言中的输入函数,用于从标准输入设备(例如键盘)读取数据。它是C语言中最常用的输入函数之一,也是处理输入数据的重要工具。scanf函数的使用方法 scanf函数的语法如下:```intscanf(constchar*format,...);``...
  • 15112494246 :C语言scanf(%c)输入问题
    广研恒2321 :答:scanf(“%s,%d,%c")这是输入时用“,”隔开。如果如你写的那样没逗号,输入时就不用逗号,用空格回车都行。
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网