Liulianglianglia 2023-04-18 16:35 采纳率: 0%
浏览 17

可以帮麻瓜看看代码吗thx!

浙大的c语言入门课程的练习题:

img

DEVC++运行结果是这样:

img

上传到慕课却显示不对

img

代码如下:


#include<stdio.h>
int main(){    
    const int number1=7;
    int count1[number1]={0};
    const int number2=7;
    int count2[number2]={0};
    count2[1]=1;
    int num,a,i,j,k,l;
    int shuwei=0;
    int b=1;
    int sum=0;
    
    scanf("%d",&num);

    for(i=10;i<1000001;i*=10){
        a=num%i/(i/10);
        shuwei++;
        if((a%2)==(shuwei%2)){
            count1[shuwei]=1;
        }else
        count1[shuwei]=0;
 
        printf("count1[%d]=%d ",shuwei,count1[shuwei]);
    }

    printf("\n");
    
    for(j=2;j<7;j++){
        b*=2;
        count2[j]=b;
    }
    for(k=1;k<7;k++){
        printf("count2[%d]=%d ",k,count2[k]);
    }
    printf("\n");
    
   for(l=1;l<7;l++){
       sum+=((count1[l])*(count2[l]));
   }
   
   printf("sum=%d",sum);

    return 0;
}
  • 写回答

4条回答 默认 最新

  • itmozun629 2023-04-18 17:14
    关注
    
    zhe.c: In function ‘main’:
    zhe.c:14:5: error: variable-sized object may not be initialized
       14 |     int count1[number1]={0};
          |     ^~~
    zhe.c:16:5: error: variable-sized object may not be initialized
       16 |     int count2[number2]={0};
    
    

    在linux上编译跟你一样的错误,意思是你定义数组时可以用变量定义数组长度,但不可初始化。
    解决方法:开头定义的count1、count2数组不初始化,或者不用变量名字充当数组长度,直接 int count1[7] = {0};即可。
    有什么不对的地方,欢迎指正。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月18日

悬赏问题

  • ¥15 关于#Stata#的问题:数据是面板数据,SPSS里面不能控制年份和时间,所以只能用Stata做
  • ¥20 基于基于NioEventLoop线程阻塞问题
  • ¥20 我需要"hill48屈服模型 等向强化 非线性硬化"的abaqus本构子程序(umat或者vumat)对应的理论推导过程。
  • ¥15 基于ucc28019的pfc电路中芯片一直不工作
  • ¥15 yolov8在3588板子端c++推理报错
  • ¥50 unitywebrequest分段下载导致报错,如何解决?
  • ¥15 错误使用 gretna_GUI_PreprocessInterface>RunBtn_Callback
  • ¥15 WPF如何用Chart绘画出Y轴的左边数据
  • ¥20 系统重装后Calibre无法启动
  • ¥15 跑hls xfopencv的例程standalone_hls_axi_example出的错误,csim没问题,c synthesis出的错误