社区
C语言
帖子详情
请帮我看看哪里错了?
gongqiang1
2011-08-15 12:46:42
int a[]={1,2,3,4,5,6,7,8,9,0}, i;
for(i = 10; i < 0; i++)
a[i] = i;
//printf("% d\n",a[i]);
for(i = 9 ; i > 0; i--)
printf("% d\n",a[i]);
...全文
148
28
打赏
收藏
请帮我看看哪里错了?
int a[]={1,2,3,4,5,6,7,8,9,0}, i; for(i = 10; i 0; i--) printf("% d\n",a[i]);
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
28 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2011-08-17
打赏
举报
回复
[Quote=引用 20 楼 menxiazougou 的回复:]
很明显你第一行定义的数组a[]只有1、2、3、4、5、6、7、8、9、0这10个元素。
而数组角标是从0开始的,所以你定义的数组是a[0]=1、a[1]=2、a[2]=3、a[3]=4、……a[9]=0这十个元素,就是数组a[]的最大角标是9,也就是最后一个元素是a[9]。
而你那个for循环确从i=10开始,明显错了,根本没有a[10]这个元素!!!
[/Quote]
a[10]很可能和i在内存中占用同一个地址。
VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
简单调调
2011-08-17
打赏
举报
回复
#include<iostream>
using namespace std;
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,0};
for(int i = 0; i < 10; i++) //正向输出
{
cout<<a[i]<<'\t';
}
cout<<endl; //换行,逆向输出
for(int i = 9 ; i >= 0; i--)
{
cout<<a[i]<<'\t';
}
cout<<endl;
}
代码比较乱,空行 缩进都不规范,必须练啊~我也在学习中
gongqiang1
2011-08-17
打赏
举报
回复
帮我写一个完整的逆向输出!
小木
2011-08-17
打赏
举报
回复
for(i = 10; i < 0; i++)
-> for(i=0; i<10; i++)
for(i = 9 ; i > 0; i--)
-> for(i = 9; i >= 0; i--)
刚开始学程序吧,没事,慢慢来
wangbingyujava
2011-08-17
打赏
举报
回复
不知道你 想说什么? 逻辑表达能力也太差了点...
xiaoyucong
2011-08-17
打赏
举报
回复
“for(i = 10; i < 0; i++)” 首先 i不能为10,因为数组 a 已定义为0-9共10个元素,所以逆向输出从9开始,其次i要大于0。
zxd0914gmail
2011-08-17
打赏
举报
回复
数组越界啊
for(i=10;i>0;++i)
a[10-i] = i;
Alexander
2011-08-17
打赏
举报
回复
[Quote=引用 5 楼 luciferisnotsatan 的回复:]
for(i = 10; i < 0; i++)
这要加到溢出了才会结束。在那之前估计就访问违规了。
[/Quote]
这里会执行到么?
第一轮就不满足条件跳出了说。
朝生暮死
2011-08-17
打赏
举报
回复
很明显你第一行定义的数组a[]只有1、2、3、4、5、6、7、8、9、0这10个元素。
而数组角标是从0开始的,所以你定义的数组是a[0]=1、a[1]=2、a[2]=3、a[3]=4、……a[9]=0这十个元素,就是数组a[]的最大角标是9,也就是最后一个元素是a[9]。
而你那个for循环确从i=10开始,明显错了,根本没有a[10]这个元素!!!
gongqiang1
2011-08-17
打赏
举报
回复
逆向输出!!
暮雨晨舟
2011-08-16
打赏
举报
回复
不知道这个程序想要表达什么意思或者实现什么功能
赵4老师
2011-08-16
打赏
举报
回复
单步调试和设断点调试是程序员必须掌握的技能之一。
luckymini
2011-08-16
打赏
举报
回复
[Quote=引用 8 楼 wlcbh 的回复:]
for(i = 10; i < 0; i++)
楼主是否写错了?
[/Quote]
楼主需要什么程序啊?
seuer126
2011-08-16
打赏
举报
回复
LZ写的什么程序啊,看不懂啊
l369294289
2011-08-16
打赏
举报
回复
for(i = 10; i < 0; i++) //i=10,i<0开始就不成立,循环就不会执行
a[i] = i;
所以,这两排是多余的,程序只执行了
for(i = 9 ; i > 0; i--)
printf("% d\n",a[i]);
运行结果是0 9 8 7 6 5 4 3 2
至善者善之敌
2011-08-16
打赏
举报
回复
for(i = 10; i < 0; i++)
恩,可以结贴了
yht8708
2011-08-16
打赏
举报
回复
数组应用超界
AnYidan
2011-08-16
打赏
举报
回复
[Quote=引用 5 楼 luciferisnotsatan 的回复:]
for(i = 10; i < 0; i++)
这要加到溢出了才会结束。在那之前估计就访问违规了。
[/Quote]
++
ForestDB
2011-08-15
打赏
举报
回复
for(i = 10; i < 0; i++)
for(i = 9 ; i > 0; i--)
iambic
2011-08-15
打赏
举报
回复
某人去见大夫,进门就说:“大夫,我有病啊”。
大夫问:“你有什么病啊?”
“我有病啊。”
“你有什么症状啊?”
“我有病啊”
“……”
“你到底会不会看?”
“……”
于是患者无满意答案结贴了。
加载更多回复(8)
模糊照片怎么修复清晰?快来
看看
这两个方法
有没有小伙伴和我一样,旅行的时候都喜欢拍好多照片,但是每次回家检查照片的时候,就会发现有一些照片因为没对好焦、手抖等原因,导致照片出现模糊。对于这种情况你们会怎么做呢?是直接删掉这张照片吗?如果这处风景只拍了一张照片,那就有点可惜了。其实我们可以使用一些软件修复模糊的照片,那怎么把模糊照片修复呢?下面,就为大家带来两种方法。方法一:使用图片转换器软件修复小伙伴们是不是看到图片转换器就感到有点疑惑?是的,没有看
错
,就是图片转换器。迅捷图片转换器是我常使用的一款图片处理软件,不仅可以
帮
我解决上百种图片格式转换的
请
不要再用老土的销售对白了
很多导购,顾客进门第一句话他就说
错
了!一般的导购看到顾客第一句话就是:“你好,欢饮光临!”,其实这句话说
错
了!第二句话说
错
的人更多了!“您想要点什么?”
错
“有什么可以
帮
您的吗?”
错
“先生,
请
随便
看看
!”
错
“你想看个什么价位的?”
错
“能耽误您几分钟时间吗?”
错
“我能
帮
您做些什么?”
错
“喜欢的话,可以看一看
【Code】代码答案
错
误怎么办?三种方法教你如何查
错
查
错
的方法1.目测法2.调试法3.对拍法 在写完代码的时候,测一下样例,很多时候样例过了,但交到OJ上却挂了,始终找不到
错
误原因。有时候连样例都过不了。因此,我总结了三种方法教给大家,让大家有方向地去查
错
,而不是看着程序发呆。希望大家可以把三种方法熟练掌握,并懂得去运用。 1.目测法 目测法并不是简单的目测。 此方法用于数据小且少的题目。 用例子来说话: FZU-1889 龟兔赛跑 原题 vju...
请
不要再用老土的销售话术了!
很多导购,顾客进门第一句话他就说
错
了!一般的导购看到顾客第一句话就是:“你好,欢饮光临!”,其实这句话说
错
了!第二句话说
错
的人更多了!“您想要点什么?”
错
“有什么可以
帮
您的吗?”
错
“先生,
请
随便
看看
!”
错
“你想看个什么价位的?”
错
“能耽误您几分钟时间吗?”
错
“我能
帮
您做些什么?”
错
“喜欢的话,可以看一看!”
巧用导购销售技巧
很多导购,顾客进门第一句话他就说
错
了!一般的导购看到顾客第一句话就是:“你好,欢迎光临!”,其实这句话说
错
了!第二句话说
错
的人更多了!“您想要点什么?”
错
“有什么可以
帮
您的吗?”
错
“先生,
请
随便
看看
!”
错
“你想看个什么价位的?”
错
“能耽误您几分钟时间吗?”
错
“我能
帮
您做些什么?”
错
“喜欢的话,可以看一看
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章