我正在尝试制作一个程序,该程序可以查找给定值的最大素数因子。* argv []的取消引用值不准确
如果我运行./a.out 55
,cout << "Input " << *argv[1]<< endl;
返回5,而不是55
当我拿出asterik并检查指针'值(的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;
}
我有些困惑。不是argv是一个char指针数组,而不是字符数组? – wayfare 2012-03-01 18:55:31
@wayfare是的,但'argv [1]'本身就是'char *'。因此,'* argv [1]'是一个普通的'char'。 – cnicutar 2012-03-01 18:56:34
所以不应该argv [1]返回的地址不是实际的字符? – wayfare 2012-03-01 19:01:29