这个题自己运行成功,OJ上显示运行错误,为什么?(运行期间执行了什么非法操作?)
#include<stdio.h>#include<stdlib.h>
#include<math.h>
int main(void){
int n,s[7]={0},i=0,k=0;
scanf("%d",&n);
while(n!=0){
s[i++]=n%10;
n=n/10;
}
for(i=i-1;i+1;i--){
if(s[i]!=0)
k=k+pow(2,(double)(i));
}
printf("%d\n",k%(1000000000+7));
return 0;
}