#5591: 請高手解惑


arod1230 (冰箱)


以下為程式碼:

#include<stdio.h>
int main(void)
{
 int num,trans[100];
 while(scanf("%d",&num)!=EOF)
 {
  int i,j,count=0;
  if(num!=0)
  {
   for(i=0;num!=0;i++) //儲存已經反轉的數字
   {
    trans[i]=num%10;
    num/=10;
   }
   while(trans[count]==0) //除0
   {
    count+=1;
   }
   for(j=count;j<i;j++) //印出結果
   {
    printf("%d",trans[j]);
   }
   printf("\n");
  }
  else //若輸入的是單獨0,則直接輸出
   printf("0\n");
 }
 
    return 0;
}

小弟用的是Dev C++編譯器,自己編譯時沒問題,但是丟上去後line 1就出錯,是因為編譯器不同的緣故嗎?

#5592: Re:請高手解惑


morris1028 (碼畜)


int main() // 中間的 void 去掉
#5606: Re:請高手解惑


arod1230 (冰箱)


int main() // 中間的 void 去掉


能詢問是為什麼嗎 我算新手不懂的地方較多不好意思
#6646: Re:請高手解惑


tidub (LEE)


以下為程式碼:

#include
int main(void)
{
 int num,trans[100];
 while(scanf("%d",&num)!=EOF)
 {
  int i,j,count=0;
  if(num!=0)
  {
   for(i=0;num!=0;i++) //儲存已經反轉的數字
   {
    trans[i]=num%10;
    num/=10;
   }
   while(trans[count]==0) //除0
   {
    count+=1;
   }
   for(j=count;j   {
    printf("%d",trans[j]);
   }
   printf("\n");
  }
  else //若輸入的是單獨0,則直接輸出
   printf("0\n");
 }
 
    return 0;
}

小弟用的是Dev C++編譯器,自己編譯時沒問題,但是丟上去後line 1就出錯,是因為編譯器不同的緣故嗎?


請問一下

 

    trans[i]=num%10;

    num/=10;

 

這一段我不是很懂 , 這是什麼意思!?

num%10 ????

num/=10;  ???? 

#6822: Re:請高手解惑


happyjohn369 (: ))


 

請問一下

 

    trans[i]=num%10;

    num/=10;

 

這一段我不是很懂 , 這是什麼意思!?

num%10 ????

num/=10;  ????  

trans[i]=num%10;

的意思是說:將num的最後一位(個位)放入trans[i]內

num/=10; 

的意思是說:將num退一位(個位消掉、十位放到個位、百位放到十位......)