| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1754 人关注过本帖
标题:C语言中可以这样定义数组吗
只看楼主 加入收藏
a7458969
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-10-11
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:9 
C语言中可以这样定义数组吗
#include<stdio.h>
void main()
{
    int i,j,k,h,z;
    scanf("%d",&i);
    int a[i];
    for(j=0;j<i;j++)
    {
        printf("Please enter a number");
        scanf("%d",&a[j]);
    }
    for(k=0;k<i;k++)
    {
        for(h=0;h<i;h++)
        {
            if(a[h]>a[h+1])  ;
                else
            {
                z=a[h];
                a[h]=a[h+1];
                a[h+1]=z;
            }
        }
    }
}
            


搜索更多相关主题的帖子: 定义 C语言 
2009-10-24 00:31
apwh7550
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:41
专家分:106
注 册:2009-10-17
收藏
得分:2 
好像不可以,以前在VC6.0中这样用过,编译通不过。
如果需要使用可以调整大小的数组,建议使用动态内存分配的方式,函数:malloc
2009-10-24 00:34
dengjun000
Rank: 2
等 级:论坛游民
帖 子:66
专家分:77
注 册:2009-10-14
收藏
得分:2 
你写的是按递增排序,,但是你程序好像问题很多。。先不说问题。。
试下这个程序#include<stdio.h>
void main()
{
    int i,j;
    scanf("%d",&i);
    int a[i];
    for(j=0;j<i;j++)
    {
        printf("Please enter a number");
        getch();
        scanf("%d",&a[j]);
    }
    for(j=0;j<i;j++)
    {
      printf("%d",a[j]);
      getch();
}
编译器回复的是int a[i]这一行
错误 c39.c 6: 表达式语法错在 main 函数中
意思就是不行。。
你可以这样定义
#include<stdio.h>
void main()
{
    int i,j,a[100];
    scanf("%d",&i);
    for(j=0;j<i;j++)
    {
        printf("Please enter a number\n");
        getch();
        scanf("%d",&a[j]);
    }
    for(j=0;j<i;j++)
    {
      printf("%d",a[j]);
      getch();
    }
}
先定义一个很大的数组。。。。
2009-10-24 00:42
fuyang163
Rank: 2
等 级:论坛游民
帖 子:36
专家分:59
注 册:2009-4-13
收藏
得分:2 
不可以用变量定义数组,这是C语言规定。
2009-10-24 07:16
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:2 
此程序GCC编译通过。

LS:谁告诉你的C不允许用变量定义数组的?说话的人权威不?有ISO权威不?

专心编程………
飞燕算法初级群:3996098
我的Blog
2009-10-24 07:38
xiaowenhuman
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:101
专家分:104
注 册:2009-5-10
收藏
得分:2 
书上说:不可能用变量来定义一个数组吧
2009-10-24 08:12
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
哪本书?几几年出版的?这句话的参考书目是哪本?别告诉我是作者自己空口白话出来的。

专心编程………
飞燕算法初级群:3996098
我的Blog
2009-10-24 08:17
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:2 
数组名后的“数组长度”通常是一个整型常量,整型变量,或整形表达式。有些书籍会明确明确规定数组下标不能用变量,那可能是针对较早的编辑器,
老式的编译器不允许这样声明数组,但是新的标准是允许的。  
好像GCC就允许

离恨恰如春草,更行更远还生。
2009-10-24 08:37
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
收藏
得分:2 
楼上说的好。。。反正tc3.0通不过。还有 谭的书第三版明确规定了不能用变量定义数组。。
2009-10-24 10:32
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:2 
C99 标准支持

我喜欢这个
struct {
    int n;
    int ar[];
};

—>〉Sun〈<—
2009-10-27 02:45
快速回复:C语言中可以这样定义数组吗
数据加载中...
 
   



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

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