| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 882 人关注过本帖
标题:這樣是不是就說明我無法使用變長數組?
取消只看楼主 加入收藏
浩浩捉迷藏
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2014-7-9
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:13 
這樣是不是就說明我無法使用變長數組?
#include <stdio.h>
int main(){
    int aaa(int n,int m,int a[n][m]);
    int z[3][2];
    int i,j;
    for(i=0;i<3;i++)
    {
      for(j=0;j<2;j++)
        scanf("%d",&a[i][j]);
        }
    printf("%d",aaa(3,2,z[3][2]));
    return 0;
}
int aaa(int n,int m,int a[n][m])
{
    int i,j,sum=0;
    for(i=0;i<n;i++)
    {
      for(j=0;j<m;j++)
        sum+=a[n][m];
        }
    return sum;
}

我用了vs6.0/jfe and gcc/Dev-C++都無法成功編譯,求指出錯誤在哪裡?

還是這三個軟件都不支持c99?
搜索更多相关主题的帖子: return include 
2015-03-31 21:13
浩浩捉迷藏
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2014-7-9
收藏
得分:0 
回复 2楼 TonyDeng
把函數提到main前面了.還是一樣的錯誤.
g++.exe  -x c++ -c C:\Users\PC\Desktop\C\1 -o C:\Users\PC\Desktop\C\1.o  -Wall -fpermissive  -Wno-sign-compare -g
C:\Users\PC\Desktop\C\1:2: error: `n' was not declared in this scope
C:\Users\PC\Desktop\C\1:2: error: `m' was not declared in this scope
C:\Users\PC\Desktop\C\1: In function `int aaa(int, int)':
C:\Users\PC\Desktop\C\1:8: error: `a' undeclared (first use this function)
C:\Users\PC\Desktop\C\1:8: error: (Each undeclared identifier is reported only once for each function it appears in.)
C:\Users\PC\Desktop\C\1: In function `int main()':
C:\Users\PC\Desktop\C\1:13: error: `n' undeclared (first use this function)
C:\Users\PC\Desktop\C\1:13: error: `m' undeclared (first use this function)
C:\Users\PC\Desktop\C\1:19: error: `a' undeclared (first use this function)
C:\Users\PC\Desktop\C\1:13: error: too many arguments to function `int aaa(int, int)'
C:\Users\PC\Desktop\C\1:21: error: at this point in file
Failure

請問你,我變長數組寫錯了嗎?
2015-03-31 21:20
浩浩捉迷藏
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2014-7-9
收藏
得分:0 
回复 6楼 longwu9t
謝謝,我複製了你第二次貼給我的代碼,還是無法編譯成功,那就是確實我三個編譯器都不支持c99了!
2015-03-31 21:43
浩浩捉迷藏
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2014-7-9
收藏
得分:0 
回复 4楼 TonyDeng
嗯,感謝回答!
2015-03-31 21:44
浩浩捉迷藏
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2014-7-9
收藏
得分:0 
回复 6楼 longwu9t
再請問一下,你用的什麼編譯器呢?可以給我名字嗎?我去載一個來用.
2015-03-31 21:45
浩浩捉迷藏
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2014-7-9
收藏
得分:0 
回复 10楼 longwu9t
嗯,好吧,其實我不怎麼會用MinGW,裝了之後,發覺沒有啟動的exe程序,就沒用了,就改用了gcc,雖說我現在用的jfe and gcc是gcc,但好像可以脫離mingw直接編譯似得,覺得方便就一直用了.加了參數的確是可以編譯了,謝謝你.windows系統哎,一言難盡
2015-03-31 21:56
浩浩捉迷藏
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2014-7-9
收藏
得分:0 
回复 12楼 zklhp
嗯,的確啊,最後還是改了,現在問題出在不支持c99了.新手..見諒了.
2015-03-31 21:58
浩浩捉迷藏
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2014-7-9
收藏
得分:0 
回复 11楼 longwu9t
好的,我去找一個來下載,謝謝你了!see!
2015-03-31 21:59
浩浩捉迷藏
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2014-7-9
收藏
得分:0 
回复 6楼 longwu9t
再問一下,我也下載了Pelles C ,我也複製了你發給我的代碼.
#include <stdio.h>

int foo(int n, int m, int a[n][m]);

int main(void) {
    int i, j, n, m;
    scanf("%d%d", &n, &m);
    int a[n][m];

    for(i = 0; i < n; i++) {
        for(j = 0; j < m; j++)
            scanf("%d", &a[i][j]);
    }

    printf("%d\n", foo(n, m, a));
    return 0;
}

int foo(int n, int m, int a[n][m]) {
    int i, j, sum = 0;

    for(i = 0; i < n; i++) {
        for(j = 0; j < m; j++)
            sum += a[i][j];
    }

    return sum;
}
我也和你一樣輸入3 4,這兩個a數組的行和列,但是我接著輸入1 2 3 4 5 6接著回車,還可以再輸入...我後面也加了\N,為什麼還是不會另起一行提示"按任意鍵繼續"呢?給你看圖
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-03-31 22:58
浩浩捉迷藏
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2014-7-9
收藏
得分:0 
回复 22楼 longwu9t
嗯,我明白一開始是輸入3行4列,然後再輸入a[3][4]裡面的元素,然後計算總和,不過我和你一樣的代碼,為什麼輸入一樣,卻不是一樣的結果呢..怪事了..編譯成功,代碼也是複製的,沒理由會這樣的
2015-03-31 23:09
快速回复:這樣是不是就說明我無法使用變長數組?
数据加载中...
 
   



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

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