【发布时间】:2013-02-02 06:27:47
【问题描述】:
尝试向我的程序添加命令行参数。所以我在做实验,无法为我的一生找出这个智能警告。它一直说它期待一个')',但我不知道为什么。
这是它不喜欢的代码:
// Calculate average
average = sum / ( argc – 1 );
然后它在减法运算符下划线。以下是完整的程序。
#include <iostream>
int main( int argc, char *argv[] )
{
float average;
int sum = 0;
// Valid number of arguments?
if ( argc > 1 )
{
// Loop through arguments ignoring the first which is
// the name and path of this program
for ( int i = 1; i < argc; i++ )
{
// Convert cString to int
sum += atoi( argv[i] );
}
// Calculate average
average = sum / ( argc – 1 );
std::cout << "\nSum: " << sum << '\n'
<< "Average: " << average << std::endl;
}
else
{
// If invalid number of arguments, display error message
// and usage syntax
std::cout << "Error: No arguments\n"
<< "Syntax: command_line [space delimted numbers]"
<< std::endl;
}
return 0;
}
【问题讨论】:
-
它可能会试图警告您,您可能期待的东西与您正在计算的东西不同。提示:
sum和argc的类型是什么? :-)