我剛開始學習的指針,並經過大量添加和刪除*
我的代碼,用於將輸入的字符串轉換爲大寫最終工程..通過函數傳遞字符串(C編程)
#include <stdio.h>
char* upper(char *word);
int main()
{
char word[100];
printf("Enter a string: ");
gets(word);
printf("\nThe uppercase equivalent is: %s\n",upper(word));
return 0;
}
char* upper(char *word)
{
int i;
for (i=0;i<strlen(word);i++) word[i]=(word[i]>96&&word[i]<123)?word[i]-32:word[i];
return word;
}
我的問題是,同時調用我發送的函數word
這是一個指針本身,所以在char* upper(char *word)
爲什麼我需要使用*word
?它是一個指針指針嗎?另外,char*
是因爲它返回一個指向字符/字符串的指針嗎?請澄清我如何工作。
我很困惑你在問什麼。你問爲什麼它是上層(字符*字)而不是上層(字符字)? – Corbin 2011-12-17 13:46:19
函數upper請求一個指針作爲參數,並提供一個指針(word)。就我所知,這是正確的。 – 2011-12-17 13:47:26
爲了避免混淆,請在代碼中將'word'參數的名稱更改爲'upper'或局部變量'word'。 – Mat 2011-12-17 13:47:57