找回密码
 注册
搜索
热搜: java php web
查看: 2128|回复: 5

c语言的一个小问题,请高手指点

[复制链接]
发表于 2009-1-26 09:06:20 | 显示全部楼层 |阅读模式
main()
{
  int i,a[10];

  for(i=0;i<=9;i++)
      a=i;
  for(i=9;i>=0;i--)
      printf("%d ",a);
}
执行完第一个for 语句后,i值已经变成了10,第二个for语句重新给i赋值9是否合法?
程序是否要将第一个for语句的"<"换成"<="才,并且去掉第二个for语句的赋值表达式才算正确?
求高手指点!!
发表于 2009-1-26 11:00:01 | 显示全部楼层
是合法的。重要的是你要这个程序做什么。
回复

使用道具 举报

发表于 2009-1-26 10:18:54 | 显示全部楼层
a=i;不合法,a没有下标,是不是你写错了
回复

使用道具 举报

发表于 2009-1-26 11:14:15 | 显示全部楼层
1、正如ls所说,表达式是不安全的,或者说不是你所希望的样子。
2、如果你想输出“正确”的结果,就要告诉我们你想做什么,比如期待什么样的结果,虽然猜也能猜出来......
回复

使用道具 举报

发表于 2009-1-26 10:58:24 | 显示全部楼层
第二个for语句重新给i赋值9是否合法?

这个没有问题,i是变量,在它的作用范围之内随时都可以改变它的值,所以第二个for语句重新给i赋值9是可以的。
回复

使用道具 举报

发表于 2009-1-26 11:03:25 | 显示全部楼层
是不是这个程序?
main()
{
  int i,a[10];
  for(i=0;i<=9;i++)
      a=i;
  for(i=9;i>=0;i--)
      printf("%d ",a);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|软晨网(RuanChen.com)

GMT+8, 2024-11-13 10:06

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表