C语言输入问题

#include<stdio.h>main(){inta;charb;longc;floatd;doublee;scanf("a=%db=%c",&a,&b);scanf... #include<stdio.h>
main()
{
int a;
char b;
long c;
float d;
double e;
scanf("a=%d b=%c",&a,&b);
scanf("c=%ld",&c);
scanf("d=%f e=%lf",&d,&e);
printf("&a=%d\n&b=%c\n",&a,&b);
printf("&c=%ld\n",&c);
printf("&d=%f\n&e=%lf",&d,&e);
}
编译时没错误,但运行时出现debug error,哪里错了,该怎么输入
展开
 我来答
地摊秀子
2011-03-21 · TA获得超过108个赞
知道答主
回答量:51
采纳率:0%
帮助的人:28.7万
展开全部
最好用一个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);以此类推 不需要带上&符号 否则是错误的
小傻

2018-06-26 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部
不能输出4个5角是因为for (c = 0; c < x * 10 / 5; c++),这个条件,当c等于4的时候,不符合条件,你写的是<4,应该写成<=4,其他几个条件类似,如下图片,你可以debug一步步看看:
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jcw_2010
2011-03-21 · TA获得超过942个赞
知道小有建树答主
回答量:219
采纳率:100%
帮助的人:272万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2011-03-21 · TA获得超过1418个赞
知道大有可为答主
回答量:1903
采纳率:0%
帮助的人:1831万
展开全部
如果scanf语句不改,那应该输入a=1 b=1等等,如果为了输入方便,可以把a=,b=,都去掉。
你说的是输出地址,地址有两个字节长,输出的使用要用整形,而不能是浮点型,所以所有的输出类型都应改为%d。已测试可正确输出地址。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
loverBB_h
2011-03-21 · TA获得超过274个赞
知道小有建树答主
回答量:424
采纳率:0%
帮助的人:344万
展开全部
你的scanf用的不好,按你这样的用法,需要输入:
a=1 b=2
类似的格式
你printf的时候使用&a,并不是输出a的值,而是输出a的地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式