我的程序正在接受一個說明應該使用多少個打印的參數。 自變量的示例:打印2. 然後,我想循環打印後的值,數字2,然後多次打印。我試過像這樣:在循環中比較字符與int
for(i = 0; i < argv[2]; i++)
{
....
問題是,argv是一個字符,我是一個int。所以當我運行這個循環時,argv [2]獲得的值是:123123123或其他東西,而不是2。有沒有什麼辦法解決這個問題,或者比較char中的值和int。在此先感謝
我的程序正在接受一個說明應該使用多少個打印的參數。 自變量的示例:打印2. 然後,我想循環打印後的值,數字2,然後多次打印。我試過像這樣:在循環中比較字符與int
for(i = 0; i < argv[2]; i++)
{
....
問題是,argv是一個字符,我是一個int。所以當我運行這個循環時,argv [2]獲得的值是:123123123或其他東西,而不是2。有沒有什麼辦法解決這個問題,或者比較char中的值和int。在此先感謝
argv [2]是char*
不是char
。 argv [2]指向一個字符串(以null結尾的字符數組)。當你向你傳遞一個參數時,參數就是這種形式。
您必須將其轉換,您可以使用atoi();
argv[2]
是char*
,是C語言中的字符串,如果要將其更改爲int,則必須將它轉換爲 。將字符串轉換爲int。 下面是一個例子:
int atoi(char *str){//Just suit for int
int ans = 0,i=0;
while(str[i]){
ans = ans*10 + (str[i]-'0');
i++;
}
return ans;
}
你可以這樣調用atoi(argv[2]);