arduino
1int t=0; 2const int x=400; 3int limit=(int)pow(x,0.5); 4int prime[x]; 5int primelist[8000]; 6void setup(){ 7 Serial.begin(9600); 8 // pinMode(2,OUTPUT); 9 for (int i = 0; i < x; i++) 10 { 11 prime[i]=i+2; 12 } 13 prime[x]=-1; 14Serial.println(x); 15 16 17 int s; 18 int num; 19 while(true){ 20 s=prime[0]; 21 break; 22 } 23 24} 25void loop(){ 26 Serial.print(t);Serial.print(":");Serial.println(prime[t]); 27 t+=1; 28 delay(500); 29 30}
上記のコードを見ていただきたいのですが、これを実行すると以下のような出力になりました
400 -1:0 //←ここがわかりません 0:2 1:3 2:4 3:5 4:6 5:7 6:8 7:9 8:10 9:11 ・ ・ ・ ・ ・ 397:399 398:400 399:401 400:400 //←-1を設定しているはずなのになぜ400になるのでしょう 401:260 402:0 403:1000
最初t=0に設定しているはずなのに-1と出てくるのはなぜでしょうか?
また、この配列のインデックス番号400を-1と設定しているのになぜ400になっているのでしょうか?
また、xを10に、Serial.print(t)をSerial.print(t,":")のように変えたら以下のような出力になりました。
これは16進数に変換するという意味でしょうか?
10 281D55I3:0 0:2 1:3 2:4 3:5 4:6 5:7 6:8 7:9 8:10 9:11 A:10 B:260 C:0 D:1000 E:0 F:0 G:0 H:197 I:196 J:192 K:193 10:194 11:198 12:1 13:11776 14:53 15:0 16:0 17:0 18:0 19:0 1A:0
C言語の基本を理解できていないです。
ご教授御願い致します。
回答1件
あなたの回答
tips
プレビュー