C语言的一个例题

来源:百度知道 编辑:UC知道 时间:2024/05/30 02:55:52
老谭书上的例题7.1是这样的
main()
{
int i,a[10];
for (i=0;i<=9;i++)
a[i]=i;
for(i=9;i>=0;i--)
print("%d",a[i]);
}
我的疑问是for(i=9;i>=0;i--) 这句是怎么出来的???? 为什么i=9难道写程序之前就知道a[10]的数是9么???
最后的答案是9 8 7 6 5 4 3 2 1 0
for (i=0;i<=9;i++)
a[i]=i;也可以完全没有必要存在啊 我总觉得2个for冲突 不过书上的例题是不会错了 我不明白为什么这么写 谢谢大家帮我解答这个菜鸟的疑问

写程序是为了达到某个目的……

第一个for
for(i=0;i<=9;i++) a[i]=i;
是给a[]这个数组赋值(别会所你不知道什么叫赋值)
第二个for
for(i=9;i>=0;i--) print("%d",a[i]);
是将数组a[]中的值从后往前输出

这例子就是为了让你明白怎么给数组赋值
怎样输出数组中的值

a[10]已经定义好了数组中的元素最大为10个
for(i=9;i>=0;i--) 是进行循环打印,自后向前打印,还有这个9不是a[10],而是数组中包含元素的个数
for循环只会对紧跟其后面的起作用,或者大括号里面的
是不可能冲突的
建议你先多看看书

不要再被老谭忽悠了,老谭的书仅仅是教程而已,建议你直接看《the c programing language》c程序设计语言 第二版新版 机械工业出版社