写了个代码它运行不了

img


大佬们,这个应该咋改啊

img


这个是要求

1.把printf("请输入密码")和scanf放到for循环外面,先scanf再进行循环
2.密码正误判断那里,改为if(a[i] != b[i]) {y = 1; printf("密码错误"); break;}
3.输出“单片机锁定”的条件改为y==1;=是赋值符号,==才是判断相等

语法错误,1,第14行,scanf里面的%d对应的值是&a[0].&a[1]..., 2,第24行,判断用==;

逻辑错误,1,整个程序的逻辑就是错的,验证密码应该是先输入密码,然后用输入的密码和保存的密码作比较,而不是输入错误之后循环输入,你这个循环输入啥也不是,而且输入只要每次输入时,次数和对应的值输对了,就提示正确,你觉得这符合逻辑吗

#include <stdio.h>
#include <math.h>


int main()
{   
      int a[4],b[4]={1,2,3,4};
      int i;
      int y=1;
      printf("请输入密码\n");
      scanf("%d%d%d%d",&a[0],&a[1],&a[2],&a[3]);
      
      for(i=0;i<4;i++){
            
            
           // printf("%d %d\n",a[i],b[i]);
            if(a[i]!=b[i]){
                  
                  y=0;
                  break;
            }
      }
      if(y==1){
            printf("密码输入正确\n");
            
      }else{
            printf("密码输入错误\n");
            printf("单片机被锁定\n");
      }
      return 0;
      
}