我如何反复打印相同的值
How do I print the same value repeatedly?
我能够显示t到屏幕上,但是每次循环迭代时,t的当前值都会在打印之前添加到上一个值中。这意味着,它打印出9,18,27,36 ...如何避免这种情况?我需要它与代码循环连续显示9。
int d,i,p,s,t,arr[30];
float hp = 0;
float arr2[30];
void setup(){
Serial.begin(9600);
}
void loop(){
for (d = 0; d < 360; d++){
if (sin(d*(PI/180))+1 + sin(d*(2*PI/180))+1> sin((d-1)*(PI/180))+1
+ sin((d-1)*(2*PI/180))+1 && sin(d*(PI/180))+1 + sin(d*(2*PI/180))+1 >
sin((d+1)*(PI/180))+1 + sin((d+1)*(2*PI/180))+1){
arr2[i++] = sin(d*(PI/180))+1 + sin(d*(2*PI/180))+1;
}
}
for (p = 0;p <30; p++){
if(arr2[p]!=0){
if (arr2[p]>hp){
hp = arr2[p];
}
}
}
for (d = 0; d < 3600; d++){
if (sin(d*(PI/180))+1 + sin(d*(2*PI/180))+1 >= hp){
arr[s++] = d;
}
}
for (s = 0; s < 30; s++){
if (arr[s]!=0){
t++;
}
}
Serial.println(t);
}
一般建议:
以最小的范围定义变量。在您的情况下,除非有理由制作
t
和d
全局变量,否则不要使它们成为全局变量。使它们功能局部变量。
将您的代码更改为:
void loop(){
int t = 0;
int d = 0;
...
Serial.println(t);
}
这将解决您的直接问题,更重要的是,您的代码将更加干净。
相关文章:
- 如何循环打印顶点结构
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 如何在c++中打印目录
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 在线编译器中的分段C++没有打印消息
- 在C++中打印指向不同基元数据类型的指针的内存地址
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 如何将结构插入到集合中并打印集合的成员
- 在循环C++中指定字符串之后,不会打印该字符串
- 以螺旋方式打印矩阵的程序.(工作不好)
- 从控制台中删除最后打印的元素
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- 如何仅使用对象名称打印特定于对象的成员
- 回溯C++不打印函数,因此文件
- 在一定长度后从数组中打印时缺少整数
- 为什么这个 c++ 代码打印出长度 5,当我打印出字符串时,程序会自动终止?
- 在gem5中打印文件中的所有cache_blocks
- Python中的for循环与C++有何不同
- 我如何反复打印相同的值