好吧,所以我被要求使用inver_caps函數在C中反轉大寫。我的功能正常工作並正確打印新的字母,但是我爲什麼在主打印時無法正確打印?反轉C中的字母大小寫
任何想法?
void invert_caps (char letter);
int main(void){
char lettermain;
printf("Enter a letter: ");
scanf(" %c", &lettermain);
invert_caps(lettermain);
printf("The invert of the letter is %c \n", lettermain);
system("PAUSE");
return 0;
}
void invert_caps (char letter){
printf("\nletter is %d\n",letter); /*this was used for debugging*/
if ((int)letter >=65 && (int)letter<=90){
letter = (int)letter+32;
}else{
letter = (int)letter - 32;
}
printf("\nnew letter is %d or %c\n",letter, letter); /*this was used for debugging*/
return letter;
}
您正在通過值傳遞,通過指針傳遞,或者直接從函數 –
返回轉換後的值,在'按值傳遞'和'按指針傳遞'以及'通過引用傳遞'中進行了讀取。 – user93353
^^或者返回'letter'。老實說 - 你真的應該考慮從C的初學者的書開始, –