我正在尝试编写一个程序来查找给定值的最大质因数。
如果我运行 ./a.out 55
, cout << "Input " << *argv[1]<< endl;
返回 5 而不是 55。
当我取出星号并检查指针 `value(argv[1]) 时,我得到 55。我很困惑为什么会这样。
int main(int argc, char *argv[])
{
if(argc == 2)
{
cout << "Input " << *argv[1]<< endl;
// cout << "Biggest Prime Factor of 34 is : " << findPrime(number, 0) << endl;
}
else
cout << "Too many inputs:" << endl;
return 0;
}
最佳答案
删除*
:
cout << "Input " << argv[1] << endl;
^
因为*argv[1]
表示argv[1]
的第一个字符。您需要整个字符串。
关于c++ - *argv[] 的解引用值不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9512689/