求教c语言指针选择题选择题

C语言经典编程练习题和答案详解入门必备_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言经典编程练习题和答案详解入门必备
&&C语言经典编程练习题和答案详解,程序员入门必备
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩10页未读,
定制HR最喜欢的简历
你可能喜欢16:23:40 提问
这是一个oj题,要求为输入一个整形,然后将此整形数每一位上的数字翻译为英文并用"-"连接:sample input:12sample output:one-two
代码如下:
#include &stdio.h&
int main(){
int //输入t,表示有t组测试数据
int count = 0;
int bit[100]; //储存将要输入的"num"的每一位数字的数组
scanf("%d",&t);
while(t --){
scanf("%d",&num);
for(int i = 0;i & 32;i ++) //32是题目要求输入的num长度不超过32
if(num != 0){
bit[i] = num % 10;
num /= 10;
for(int j = 0 &= j --){
switch(bit[j]){
printf("zero-");
printf("one-");
printf("two-");
printf("three-");
printf("four-");
printf("five-");
printf("six-");
printf("seven-");
printf("eight-");
printf("nine-");
default:break;
printf("\b\n"); //将结尾的"-"删除并换行
问题在于,无论输入什么数,输出的结果总会在最前面多出此数位数个"zero-":
请问该如何debug?已经卡了好几小时了
公开 一 公开后不可再设置为私密
私密 一 仅自己可见
版权所有: 红黑联盟--IT精英由此起航
内容来自互联网,仅供用于技术学习,请遵循相关法律法规.黑客不作恶.
注册新账号
用Email注册
手机号 或 Email
√记住登录状态C语言考试题库及答案_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言考试题库及答案
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩9页未读,
定制HR最喜欢的简历
你可能喜欢只需一步,快速开始
后使用快捷导航没有帐号?
求教一个C语言的问题
TA的每日心情慵懒 14:53签到天数: 315 天[LV.8]以坛为家I
换行符写错地方了
TA的每日心情慵懒 14:51签到天数: 11 天[LV.3]偶尔看看II
我懂了,,因为他只是个判断语句,,我没注意那个printf是独立于while()语句的。。
TA的每日心情奋斗 17:11签到天数: 301 天[LV.8]以坛为家I
#include &stdio.h&
void main()
& & int a =7;
& & while(a--);
& & //重点是在这一句上面,while成立的条件是(a--); while()使用时后面没有“;”的,这里有这个“;”表示while后面的循环是一个空的循环;比如:while(a)& && & a++;这个a++就是循环体里面的东西!而现在没有表示是空的循环!当(a--)为0时循环不成立,当(a--)为非0时循环成立则执行循环,当循环自减执行到a=1时a--这个表达式值为1(这里要看下自增自减)a自减后值为0,即a=0,a--这个表达式值为0;循环体不再执行,而a在输出前会执行a--所以a=-1,输出a=-1!
& & printf(&%d\n&,a);//换行应该在“”里面的!
TA的每日心情无聊 20:20签到天数: 37 天[LV.5]常住居民I
while语句的循环体是空语句,当a=0时跳出,但a--会在while判断完后再执行一次-1运算.所以最后输出-1
TA的每日心情无聊 09:14签到天数: 40 天[LV.5]常住居民I
这就是++ 和——在前和在后的区别
while里面要是--在前的话结果就是0
TA的每日心情奋斗 00:04签到天数: 16 天[LV.4]偶尔看看III
我觉得你说的对,我也编译了,是这样的
TA的每日心情慵懒 00:53签到天数: 148 天[LV.7]常住居民III
你去试试--a就发现是0了,因为在前面的先执行,在后面后执行
c=--a+b 电脑执行1. a=a-1; 2. c=a+b.cpu的流程大概是把a读到寄存器,并自减,然后开始保存a,和读取b,然后通过alu计算a+b,然后保存到c.
c=b+a-- 电脑执行1. c=a+b; 2. a=a-1 .cpu的流程大概是把a,b读到寄存器,然后通过alu计算a+b,然后保存到c. 最后并a自减,并保存a.
总之在没括号的情况下,在自增自减在前面的最先先执行,在后面最后执行
TA的每日心情衰 19:32签到天数: 5 天[LV.2]偶尔看看I
楼上的是不在执行时当a=0时 还要执行一次-- 吗
TA的每日心情开心 09:42签到天数: 56 天[LV.5]常住居民I
额&&我觉得 ‘1’改为非零好些
TA的每日心情郁闷 22:35签到天数: 180 天[LV.7]常住居民III
似乎学到了一点东西&&谢谢了额.................
TA的每日心情开心 23:35签到天数: 77 天[LV.6]常住居民II
我觉得应该是补码的原因吧。a--因为没有条件让它跳出循环,所以就会一直自减下去。因为int型有两个字节,有16位二进制位。因为a=7,原码为0111,a=a-1,在计算机内没有减法,所以是a的原码加上(-1)的原码,即(0111)+(0001),最大只能加到111(16个1),原码为111(16个1)的补码为0001,最后就会显示为-1.
因为也是菜鸟,
请各位高手指出我的不足。
TA的每日心情擦汗6&天前签到天数: 280 天[LV.8]以坛为家I
你回错对象了,况且我说的没有问题。
TA的每日心情奋斗 15:14签到天数: 90 天[LV.6]常住居民II
当a=0时终止循环,然后再减1.所以是-1.
TA的每日心情开心 21:26签到天数: 146 天[LV.7]常住居民III
13楼扎实啊···
TA的每日心情开心 09:42签到天数: 56 天[LV.5]常住居民I
不好意思哈
看了下主题好像是回错地方了
新年新气象!管理组对外招聘公告
手机扫我进入移动触屏客户端
关注我们可获取更多热点资讯
Honor accompaniments. theme macfeeC语言求教。? - 知乎9被浏览356分享邀请回答3添加评论分享收藏感谢收起2添加评论分享收藏感谢收起}

我要回帖

更多关于 c语言选择题及答案 的文章

更多推荐

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

点击添加站长微信