我正在嘗試製作一個程序,該程序可以查找給定值的最大素數因子。* 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