c++ - For循环设置变量条件

标签 c++ variables for-loop

我的 for 循环中的计数器变量在第一次进入循环时被设置为条件值。我从来没有听说过这种情况,大约一个月前我在同一个系统上写了一个非常相似的代码版本,但没有遇到这个问题。

这是由 Microsoft Visual Studio 6.0 Visual C++ 在 64 位 Windows Vista 计算机上编译和构建的。我已经注释掉了所有不必要的代码,但它仍然导致了这个错误。删除了所有注释的代码如下:

主要.cpp:

#include "stdafx.h"

using namespace std;

int main(int argc, char* argv[])
{ 

cout<<"Simple Watch Region Test\n";
cout<<"-----------------------\n";

//get number of tracks
cout<<"  Enter Number of Tracks to Run: ";
unsigned int totalNumberOfTracksToRun;
cin>>totalNumberOfTracksToRun;

unsigned short currentTrack = 0;
cout<<"currentTrack starts at "<<currentTrack<<endl;

for( currentTrack; currentTrack < totalNumberOfTracksToRun; currentTrack++);
{

    cout<<"current is "<<currentTrack<<endl;

     }

    return 0;

stdafx.h:

#if !defined(AFX_STDAFX_H__9455C912_1697_486F_A680_AAE1D0B22611__INCLUDED_)
#define AFX_STDAFX_H__9455C912_1697_486F_A680_AAE1D0B22611__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <iostream>
#include <fstream>
#include <math.h>
#include <string>

输出是:

Simple Watch Region Test
-----------------------
  Enter Number of Tracks to run: 5
currentTrack starts at 0
current is 5
Press Any Key to continue 

谢谢你的想法。

最佳答案

您的 for 语句末尾有一个分号:

for( currentTrack; currentTrack < totalNumberOfTracksToRun; currentTrack++);
                                                     // get rid of this ---^

这意味着 for 循环运行,什么都不做,直到 currentTrack 变得等于 totalNumberOfTracksToRun,然后才执行以下 block 。这就是 currentTrack 立即跳到 5 的原因。

关于c++ - For循环设置变量条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13445936/

相关文章:

c++ - 文件 I/O 二进制动态数组崩溃

c++ - 将缓冲区写入文本文件

php - 在 PHP 中从外部文件加载变量

javascript - 从对象动态创建元素

r - 如何在R Studio中的for循环中包含计数过程?

c++ - 使用 vector 控制显示输出

c++ - 使用 ifstream 打开文件后的 Cin.get()

c++ - 计算范围内的值时出现舍入误差

java - final关键字可以单独用于在java中定义常量吗

将未初始化的局部变量传递给函数时出现 C++ 编译器警告(?)