| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1571 人关注过本帖
标题:求助,我这样跟数组赋值错在哪里
只看楼主 加入收藏
blueblackrai
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-1-6
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:21 
求助,我这样跟数组赋值错在哪里
程序代码:
#inlcude<stdio.h>
int main(void)
{
  int n,index;
  double test[n];
  scanf("%d",&n);
  for(index = 0;index < n;index++);
     scanf("%lf",&test[index]);
  for(index = 0;index < n;index++);
    printf("%f",test[index]);
  return 0;
}


[ 本帖最后由 blueblackrai 于 2013-1-6 21:34 编辑 ]
搜索更多相关主题的帖子: index 
2013-01-06 21:23
tangrongyang
Rank: 2
来 自:福建--福州
等 级:论坛游民
帖 子:30
专家分:18
注 册:2012-11-20
收藏
得分:3 
我靠!第一行就两个错误!
数组内必须是常量
test[100];

趁着年轻,折腾折腾!
年轻真好!
2013-01-06 21:30
blueblackrai
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-1-6
收藏
得分:0 
回复 2楼 tangrongyang
不会啊,C99支持变量了
2013-01-06 21:33
此夜望月
Rank: 2
等 级:论坛游民
帖 子:55
专家分:43
注 册:2012-12-29
收藏
得分:3 
在声明数组的时候你使用了未定义的n,n的定义在数组声明后面,所以声明数组的时候,编译器处理数组找不到合适大小的空间给它。(n连零都算不上)
2013-01-06 21:34
Fisher~
Rank: 4
等 级:业余侠客
帖 子:93
专家分:222
注 册:2012-11-10
收藏
得分:3 
楼主说的c99支持变量了不假,但请楼主认真读一下c99,c99虽然支持变量了但是不是这么用的,变长数组必须配合cpp文件中的new运算符才能用
2013-01-06 21:40
XQwindow
Rank: 2
等 级:论坛游民
帖 子:121
专家分:64
注 册:2013-1-1
收藏
得分:3 
应该不能动态分配数组。
但是可以使用动态分配内存!
程序代码:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    int n=0,index=0;
    double *test=NULL;
    printf("Enter number ");
    scanf("%d",&n);
    if (n<0 || n>100)//判断数值,你可以改变
    {
        printf("Error!\n");
        return 0;
    }
    test=(double *)malloc(n*sizeof(double));
    for (index=0;index<n;index++)
    {
        double k=0;
        scanf("%lf",&k);
        *(test+index)=k;
    }
    printf("Result:\n");
    for (int i=0;i<index;i++)
    {
        printf("%f\n",*(test+i));
    }
    free(test);
    return 0;
}


[ 本帖最后由 XQwindow 于 2013-1-6 21:45 编辑 ]

我不知道我能否当程序员,但我依然热爱编程!
2013-01-06 21:43
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:3 
第一行语法错误,你的编译器支持c99  ???    c99也不是这样用法吧

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2013-01-06 21:47
tangrongyang
Rank: 2
来 自:福建--福州
等 级:论坛游民
帖 子:30
专家分:18
注 册:2012-11-20
收藏
得分:0 
回复 6楼 XQwindow
额 改换头像了!咳咳咳……哈哈!

趁着年轻,折腾折腾!
年轻真好!
2013-01-06 21:49
blueblackrai
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-1-6
收藏
得分:0 
回复 4楼 此夜望月
你说的对,把数组放在在n赋值之后声明就可以正确运行了
程序代码:
#inlcude<stdio.h>
int main(void)

 {
   int n,index;
   scanf("%d",&n);

   double test[n];
   for(index = 0;index < n;index++);
     scanf("%lf",&test[index]);
   for(index = 0;index < n;index++);
     printf("%f",test[index]);
   return 0;

 }
2013-01-06 21:54
XQwindow
Rank: 2
等 级:论坛游民
帖 子:121
专家分:64
注 册:2013-1-1
收藏
得分:0 
回复 8楼 tangrongyang
为什么大家都逼我换头像呢?很难看吗?我觉得倒挺好

我不知道我能否当程序员,但我依然热爱编程!
2013-01-06 21:56
快速回复:求助,我这样跟数组赋值错在哪里
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017615 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved