我的程序的目標是切換輸入的兩個字母的個案。例如,轉向A和B轉向b。當我知道我的邏輯是正確的時,我無法讓我的代碼工作。切換char個案,指針問題
#include <stdio.h>;
void switcharoo(char *ch1,char *ch2)
{
if(*ch1 >= 'a' && *ch1 <= 'z' && *ch2 >= 'A' && *ch2 <= 'Z')
{
*ch1 = 'A' + *ch1 - 'a';
*ch2 = 'a' + *ch2 - 'A';
}
else if(*ch1 >= 'A' && *ch1 <= 'Z' && *ch2 >= 'A' && *ch2 <= 'Z')
{
*ch1 = 'a' + *ch1 - 'A';
*ch2 = 'a' + *ch2 - 'A';
}
else if(*ch1 >= 'a' && *ch1 <= 'z' && *ch2 >= 'a' && *ch2 <= 'z')
{
*ch1 = 'A' + *ch1 - 'a';
*ch2 = 'A' + *ch2 - 'a';
}
else if(*ch1 >= 'A' && *ch1 <= 'Z' && *ch2 >= 'a' && *ch2 <= 'z')
{
*ch1 = 'a' + *ch1 - 'A';
*ch2 = 'A' + *ch2 - 'a';
}
}
int main()
{
char lettera,letterb;
printf("Please input a first character: ");
scanf("%c", &lettera);
printf("Please input a first character: ");
scanf("%c", &letterb);
switcharoo(lettera,letterb);
printf("%c\n %c\n",lettera,letterb);
return 0;
}
等待,爲什麼'switcharoo'需要同時處理兩個字符?簡化。 – 2013-03-11 04:28:08
,因爲我的任務是這麼說的; [ – dLiGHT 2013-03-11 04:31:51
@JonathonReinhart,任何沒有道理的問題,總是原來是一項任務:) – 2013-03-11 04:36:08