esta123 2024-03-05 12:29 采纳率: 50%
浏览 4
已结题

为什么不可以这样定义int?

#错误代码

img

#运行没反应,int是不可以定义关系式吗

img

#正确代码

img

  • 写回答

4条回答 默认 最新

  • a5156520 2024-03-05 12:33
    关注

    因为a的值需要从scanf()获取输入后才能确定,所以给b赋值需要放到scanf()后面,否则b的值会错误,然后导致for循环执行出现异常。

    修改如下:

    #include <stdio.h>
    
    int main(void){
        
        int a,b;
        int i,j,k,c=0;
        
        scanf("%d",&a);
        b=a+3;  // 因为a的值需要从输入获取了之后才能确定,所以给b赋值需要在scanf()之后,否则计算出的b的值会出错 
        
        for(i=a;i<=b;i++){
            
            for(j=a;j<=b;j++){
                
                for(k=a;k<=b;k++){
                    
                    if(i!=j&&i!=k&&j!=k){
                        
                        c++;
                        
                        if(c%6!=0){
                            printf("%d ",i*100+j*10+k);
                        }else{
                            printf("%d\n",i*100+j*10+k);
                        }
                        
                    }
                    
                } 
            }
            
        }
        
        return 0;
        
    } 
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月15日
  • 已采纳回答 3月8日
  • 创建了问题 3月5日