關於c語言的 疑惑,關於C語言的 疑惑

2021-12-27 17:34:16 字數 1085 閱讀 1265

1樓:匿名使用者

for(i=2;i<=a-1;i++)

}==>

for(i=2;i<=a-1;i++)

2樓:汐日南莘

#include

int desk (int a);

void main()

int a,z;

scanf("%d",&a);

z=desk(a);

switch(z)

case 1:printf("%d不是素數\n",a);break;

default:printf("%d是素數\n",a);

int desk(int a )

int i,w=2;

for(i=2;i<=a-1;i++)//注意for迴圈if(a%i==0)//當a有因子時  w=1  且結束迴圈w=1;

break;

else if(i==a)//如果i=a還沒結束迴圈則表示a沒有因子則a是素數 w=2

w=2;

return(w);//返回w應該放在for迴圈外

3樓:

把你的break 改成continue試試吧。你break的時候跳出整個for迴圈了,w保持初始值0.使得你的switch走了default。

這就是4被誤判的原因。3倒是走進你的if(i<=a-1) 條件了,可惜,a=3 i=2時候進去的,導致w=1.

關於c語言中的疑惑

4樓:眾神足球

這個f是十六進位制的表示跟ascll字元沒關係

5樓:orange哦林君嚴

中的疑惑

1 分鐘前a619449011 | 分類:c/c++ | 瀏覽3次

printf("%x\n",-1),輸出為什麼

6樓:落魄

16進位制裡ffffff就是-1

7樓:帳號已經啟用

1111 1111 1111 1111 是-1的2進製表示

ffff 才是 -1 的十六進位制表示

關於C語言的,關於c語言的

i 表示先在語句裡引用i的值然後在自增1如int i 5,s s i i 那麼s就等於10 在此語句後i就等於7了 因自增了兩次!while a i a i 和while a i a i 1 i 在while括號內的成立了就執行迴圈內的語句不成立則不執行!第一句括號內的成立,所以執行下面的i 語句,...

關於C語言scanf 的問題,關於C語言scanf 的一個問題

回車 也是一個字元,編譯器把 回車 賦給了x。這也是使用字元特別之處要注意。另外編譯器有些智慧,先執行了scanf c x 再執行printf 請輸入x 而scanf c x 放在後面,回車 執行的是它原來特有的功能。在這個程式中的 printf 請輸入a scanf d a printf 請輸入x...

C語言的疑惑

y b b b 對這個式子,計算機要作兩次運算,1,b b 這時b 10,得到20。2,得到答案後現加 b 這時b 11,得到31。x a a a 同樣的,先作 a a a 8,得到16。由於這個表示式還沒完成,所以a還不能進行自加運算,要一直到這個表示式完成後才能自加,所以第二次加時,還加的是8,...