| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 664 人关注过本帖
标题:函数传递数组问题,代码不知道哪里错,求教大佬
只看楼主 加入收藏
Pa407
Rank: 2
等 级:论坛游民
帖 子:16
专家分:34
注 册:2023-8-6
结帖率:80%
收藏
已结贴  问题点数:10 回复次数:7 
函数传递数组问题,代码不知道哪里错,求教大佬
# include <stdio.h>


int aabbcc(int a,int b,int c){
       int aaa[12];
        int shu1,shunni,shu2;
    shu1=c;
    shu2=b;
    if(a==1) shunni=1;
    if(a==3) shunni=1;
    if(a==2) shunni=2;
    if(a==4) shunni=2;

    int i;
    if(shunni==1){
        for(i=0;i<12;i++){
            aaa[i]=(shu1+120-shu2*10+10*i)%120;   
                          }        
                  }
    else if(shunni==2){
        for(i=0;i<12;i++){
            aaa[i]=(shu1+10*shu2+120-i*10)%120;
                         }
                      }
    for(i=0;i<12;i++){
    printf("%d ",aaa[i]);}
    printf("\n");
    return *aaa;
}

int main(){
int a, b, c;
int aaa[12];   
a=1;
b=2;
c=3;
aaa[12]=aabbcc(a,b,c);
int i;
    for(i=0;i<12;i++){
    printf("%d ",aaa[i]);}
return 0;   
}
搜索更多相关主题的帖子: for aaa int i++ printf 
2023-09-06 11:34
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1701
专家分:4334
注 册:2007-12-27
收藏
得分:0 
根据上下文,return的*aaa相当于aaa[0]
你不能return一个数组。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2023-09-06 12:09
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1701
专家分:4334
注 册:2007-12-27
收藏
得分:8 
程序代码:
int aabbcc(int a,int b,int c,int *aaa)
...
int main()
...
aabbcc(a,b,c,aaa);
...

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2023-09-06 12:12
Pa407
Rank: 2
等 级:论坛游民
帖 子:16
专家分:34
注 册:2023-8-6
收藏
得分:0 
你的代码,结果还是不对。编译都通不过。
2023-09-06 13:10
Pa407
Rank: 2
等 级:论坛游民
帖 子:16
专家分:34
注 册:2023-8-6
收藏
得分:0 
成功了。谢谢forever74.

# include <stdio.h>


int aabbcc(int a,int b,int c,int aaa[]){
      
        int shu1,shunni,shu2;
    shu1=c;
    shu2=b;
    if(a==1) shunni=1;
    if(a==3) shunni=1;
    if(a==2) shunni=2;
    if(a==4) shunni=2;

    int i;
    if(shunni==1){
        for(i=0;i<12;i++){
            aaa[i]=(shu1+120-shu2*10+10*i)%120;   
                          }        
                  }
    else if(shunni==2){
        for(i=0;i<12;i++){
            aaa[i]=(shu1+10*shu2+120-i*10)%120;
                         }
                      }
    for(i=0;i<12;i++){
    printf("%d ",aaa[i]);}
    printf("\n");
    return *aaa;
}

int main(){
int a, b, c;
int aaa[12];   
a=1;
b=2;
c=3;
aaa[12]=aabbcc(a,b,c,aaa);
int i;
    for(i=0;i<12;i++){
    printf("%d ",aaa[i]);}
return 0;   
}
2023-09-06 13:17
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:0 
aaa[12]=aabbcc(a,b,c,aaa);
这还是错误的
看不懂你这个函数是想完成什么功能
2023-09-06 15:32
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1701
专家分:4334
注 册:2007-12-27
收藏
得分:0 
不问内容只看语法
程序代码:
# include <stdio.h>
void aabbcc(int a, int b, int c, int aaa[])
{
    int shu1, shunni, shu2;
    shu1 = c;
    shu2 = b;
    if (a == 1) shunni = 1;
    if (a == 3) shunni = 1;
    if (a == 2) shunni = 2;
    if (a == 4) shunni = 2;

    int i;
    if (shunni == 1) {
        for (i = 0; i < 12; i++) {
            aaa[i] = (shu1 + 120 - shu2 * 10 + 10 * i) % 120;
        }
    }
    else if (shunni == 2) {
        for (i = 0; i < 12; i++) {
            aaa[i] = (shu1 + 10 * shu2 + 120 - i * 10) % 120;
        }
    }
    for (i = 0; i < 12; i++) {
        printf("%d ", aaa[i]);
    }
    printf("\n");
}

int main() {
    int a, b, c;
    int aaa[12];
    a = 1;
    b = 2;
    c = 3;
    aabbcc(a, b, c, aaa);
    int i;
    for (i = 0; i < 12; i++) {
        printf("%d ", aaa[i]);
    }
    return 0;
}

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2023-09-06 19:49
AZhengYe
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:8
专家分:22
注 册:2023-8-2
收藏
得分:2 
数组下标越界。
int aaa[12];        //是aaa[0]-aaa[11]
aaa[12]=aabbcc(a,b,c,aaa);    //没有aaa[12],下标越界了
2023-09-08 12:48
快速回复:函数传递数组问题,代码不知道哪里错,求教大佬
数据加载中...
 
   



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

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