C++ 我正在用c+制作一个小时钟+;,但却遇到了一个",;臭虫“;还是什么
希望你能得到我想要的C++ 我正在用c+制作一个小时钟+;,但却遇到了一个",;臭虫“;还是什么,c++,C++,希望你能得到我想要的 #include <iostream> #include <windows.h> using namespace std; int main() { int q = 1; int s = 0; int m = 0; int h = 0; while (int q = 1) { s = s + 1; if (s = 60) { m = m + 1;
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
int q = 1;
int s = 0;
int m = 0;
int h = 0;
while (int q = 1) {
s = s + 1;
if (s = 60) {
m = m + 1;
s = 0;
}
if (m = 60) {
h = h + 1;
m = 0;
}
cout << h << ":" << m << ":" << s << endl;
Sleep(1000);
}
return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
int q=1;
int s=0;
int m=0;
int h=0;
while(int q=1){
s=s+1;
如果(s=60){
m=m+1;
s=0;
}
如果(m=60){
h=h+1;
m=0;
}
cout正如评论员已经指出的,您在if
语句中指定s=60
和m=60
,而不是比较s
或m
是否等于60
为了避免将来出现这种错误,最好习惯于将文本(在本例中是60
)始终放在比较的左侧,如60==s
。如果您意外写入60=s
,编译器将抛出错误,因为赋值不可能。您从未对它们进行过比较,而是分配给它们
如果(s=60){
这将使s 60和这个
如果(m=60){
每次都将使m=60,并且感觉m=60为真。这将每次运行,每次将使h增加1,因此,如果(s=60)
首先执行赋值s=60
,则应使用==对它们进行比较,然后检查此赋值的结果(即60
)不等于0
;因此,这与您编写的if(60!=0)
相同,这显然总是正确的,并且输入了if块(设置s=0
)
类似地,if(m=60)
始终为真,因此m
将设置为0
,h
是唯一增加的变量
所以在语句
couts=60
中是赋值,而不是比较s=60
assign 60 tos
,即使在if
的条件下也是如此。要进行比较,使用x==60
if
在代码中的语句总是会得到true。将=/code>替换为=
le
语句包含一个变量声明,而不是比较。您的PS中的“CLS”是什么意思?