沒什麼好說的,記得使用ctype.h就好了,譚浩強那本書就介紹了,再不使用就太對不起他老人家了;有一點小小的地方需要注意一下,&&的優先級比=號高,所以getchar()兩邊沒有括號的話呢,你就會看到...我試著用輸出重定向(freopen())去獲得這個字符,好吧,什麼都沒有,這叫什麼來著,非打印字符,說多了,題設要求及代碼實現如下
/* Name: Copyright: Author: Date: 31/03/15 20:20 Description: 輸入一個以#結束的字符串,本題要求將小寫字母全部轉換成大寫字母,把大寫字母全部轉換成小寫字母,其它字符不變。 輸入格式: 輸入在一行中給出一個長度不超過40的、以#結束的非空字符串。 輸出格式: 在一行中按照要求輸出轉換後的字符串。 輸入樣例: Hello World! 123# 輸出樣例: hELLO wORLD! 123 */ #include <stdio.h> #include <ctype.h> int main() { // freopen("in.txt", "r", stdin); // for text // freopen("out.txt", "w", stdout); // for fun char ch; // while(ch = getchar()) // for debug // putchar(1); // for fun // ch = getchar(); // for replace while((ch = getchar()) && ch != '#') { if(isalpha(ch)) { if(isupper(ch)) ch = tolower(ch); else ch = toupper(ch); } putchar(ch); // ch = getchar(); for replace } // fclose(stdin); // for test fclose(stdout); return 0; }