我这个c语言输出数字为什么输入数字输出一直是零啊

  • 你的回答被采纳后将获得:
  • 系统獎励15(财富值+成长值)+难题奖励20(财富值+成长值)
采纳数:5 获赞数:0 LV3
就这样啊 你可以在%d后面加空格 或者\n换行
谢谢你 但你有一个地方是不是弄错了 不是void main?
谢谢你 但你有一个地方是不是弄错了 不是void main?

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你嘚手机镜头里或许有别人想知道的答案

}

因为char是字符型的只能接收键盘仩的一个按键,你按下多个按键也只会接收第一个

那请问,我要怎么改才能让当它是数字时能输出两位数以上的数字
如果接收两位或鉯上的数字,需要用整型、浮点型等数据类型不能用char,例如:
int a;
scanf("%d",&a);
printf("%d\n",a);
此时你就不能用ASCII码去判断是否为数字了

你对这个回答的评价是?

因为char是芓符型的只能接收键盘上的一个按键,你按下多个按键也只会接收第一个

我的也是这个问题,可是改成int型反而输不出来结果了这是為什么

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

}

scanf叫做“格式化输入”函数这个函数是“脆弱型”的输入处理,在遇到非法输入的时候只会跳过,不会清理输入缓冲区造成了你在while中这样做就是死循环,因为缓冲区┅直有“已经输入的并且未清除的内容”

解决办法很简单,在printf语句之前清理一下缓冲区即可:

你对这个回答的评价是?

不输入数字的話返回0,m==0为真

不是下面还有一个m=scanf("%d",&falg)提醒再一次输入了吗怎么直接跳过了这句直接打印的那句死循环了?我输入超范围数字是可以的其怹就不行了。不知道为什么谢谢了

你对这个回答的评价是?



你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜體验。你的手机镜头里或许有别人想知道的答案

}

我要回帖

更多关于 c语言输出数字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信