1樓:珍惜所有所愛
這裡的while(m)的意思是用來判斷m的每個為都取完了,當取完後m=0,又因為在c語言中0值是看做是否,就會跳出程式。
拿m=123來說吧,因為123非0,所以條件為真,進入迴圈sum +=m%10=0+3=3 ; m /=10 即m=12
同理12非0,所以條件為真,進入迴圈sum +=m%10=3+2=5 ; m /=10 即m=1
1非0,所以條件為真,進入迴圈sum +=m%10=5+1=6 ; m /=10 即m=0
最後m=0 所以條件為假,所以跳出迴圈
2樓:匿名使用者
分析:while(m) 等價於 while(m!=0)當m/=10的時候,m會越變越小,最終變成0,跳出迴圈----------
上面是求一個數各位之和的演算法。每次%10取得各個位的數值
3樓:匿名使用者
while(m) 相當於 while(m!=0)
當m!=0為真時,執行迴圈;否則,即m!=0為假時,不執行迴圈。
4樓:匿名使用者
m代表的是一個邏輯值,即當m非0時為真,執行下面**,否則為假,則不執行
5樓:匿名使用者
while (m)
當m的值為非0數的時候進行迴圈。
6樓:匿名使用者
迴圈,當m=0退出迴圈
7樓:
m是越來月小的,要是m小於1了,迴圈就跳出來了
C語言的小問題,C語言的一個小問題
int型變數在系統中佔用2個位元組的儲存空間 也就是16個bit char型變數在系統中佔用1個位元組的儲存空間,1個位元組由8bit組成,也是就8個0或1組成的。這裡所謂高位就是c 1 低位就是c 0 因為系統分配記憶體時是按照c 0 c 1 的次序分配的,分配在前面的稱低位。因為是共用型,記憶體...
C語言的小問題,C語言的一個小問題。
int a int p 這個的引數是一個int型別的一級指標int a int p 這個引數是一個int型別的引用int a int p 這個引數是一個int型別的變數int a 10 int p a 這個p就是第一個函式的引數的實參int p1 a 這個p1就是第二個函式的引數的實參int p2 ...
c語言的小問題?c語言的問題?
int 型資料大小是有限制的。修改 int a 修改為 char a scanf d a 修改為 scanf s a 這個與整型變數所佔的位元組數有關吧 一個int型變數值的範圍為 2的15次到2的15次 即是 32768到32767 整型變數int的範圍為 32768到32767 你的123456...