这个为什么运行不了

来源:-

慕粉2016acm

2017-09-06 16:23

#include<stdio.h>

int check(long long int d)
{
 int sum=0;
 int all;
 int i;
 int f=2;
 for(i=20;i>=0;i--){
     all=d/(10^i);
     if((i%2)==1){
      all=all*2;
      if(all>9){
       all=all-9;
   }
  }
  sum=sum+all;
  d=d%(10^i);
 }
 if((sum%10)==0){
  f--;
 }
 return f;
}

int main()
{
 long long int a;
 printf("请输入一个卡号:");
 scanf("%lld",&a);
 int x=check(a);
 if(x==1){
  printf("成功!\n");
 }
 else{
  printf("失败!\n");
 }
}


写回答 关注

1回答

  • 慕斯0253470
    2017-09-11 13:10:26

    if((sum)==0)
    这出问题sum与后面的之间多了一个空格
    另外搞不懂楼主为什么给sum加

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题