gpt4 book ai didi

c++ - 将 int 变量与字符串连接会导致奇怪的输出

转载 作者:行者123 更新时间:2023-11-30 03:44:26 25 4
gpt4 key购买 nike

我有一个我正在尝试制作的 arduino 程序。

其目的:从 2 到 11 读取数字引脚。打印引脚编号,如果引脚为高电平则为“1”,如果引脚为低电平则为“0”。

这是我尝试做的:

void loop() {
for(int i = 2; i<12; i++){
if(digitalRead(i) == HIGH){
Serial.println(i + "1");
}
if(digitalRead(i) == LOW){
Serial.println(i + "0");
}
}
}

如果 pin 2 为 HIGH,则输出应为“21”,如果 pin 2 为LOW,则输出应为“20”。这同样适用于其他引脚。

相反,它打印的只是

Ò>Tm_°

>Tm_°

>Tm_°

Tm_°







Ò>Tm_°

>Tm_°

>Tm_°

Tm_°

关于如何让它工作有什么建议吗?

最佳答案

您的代码发生了什么?

Serial.println(2 + "1") 不会在 C 中为您提供 21(在本例中用于 Arduino)。

您正在尝试直接连接一个整数和一个字符串,这在 C(或几乎编程语言)中是无效的。

解决方案:

void loop() {
char pin_display;
for(int i = 2; i<12; i++){
if(digitalRead(i) == HIGH){
pin_display = i + 0x30 //convert to Ascii
Serial.print(pin_display);
Serial.print("1");
}
...

关于c++ - 将 int 变量与字符串连接会导致奇怪的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35472216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com