我正在 Arduino 上工作并尝试更改数组的元素。在设置之前,我像这样初始化了数组:
bool updateArea[5] = { false };
Run Code Online (Sandbox Code Playgroud)
然后我想像这样更改数组:
updateArea[0] => false,
updateArea[1] => true,
updateArea[2] => false,
updateArea[3] => false,
updateArea[4] => true
Run Code Online (Sandbox Code Playgroud)
通过使用:
memcpy(&updateArea[0], (bool []) {false, true, false, false, true}, 5);
Run Code Online (Sandbox Code Playgroud)
但是,我收到“获取临时数组的地址”错误。
我还尝试在设置和循环函数中初始化数组,但得到相同的错误。
抱歉,这段代码看起来很傻,但我只是想了解一下逻辑。
当用户quit
作为输入输入时,我试图结束程序。
我写name != "quit" && sname != "quit"
为 while 条件,所以如果它们中的任何一个是quit
,循环就会结束(对吗?)。
但是当我写quit
为时name
,它仍然等待sname
输入,如果我也为sname
输入写退出,那么它最终结束。但是,quit
自从我用 编写条件以来,它不应该在第一次看到时结束&&
吗?
此外,当我用||
. 为什么会这样?
int main()
{
string name="",sname="";
cout << "enter your name and surname \n";
cout << ">>name=";
getline(cin,name);
cout << ">>surname=";
getline(cin,sname);
while (name != "quit" && sname != "quit")
{
cout << ">>name=";
getline(cin,name);
cout << ">>surname=";
getline(cin,sname);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
enter your …
Run Code Online (Sandbox Code Playgroud)