1. 程式人生 > >如何用C語言將大寫字母轉換成小寫字母其他原樣輸出

如何用C語言將大寫字母轉換成小寫字母其他原樣輸出

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 100
int main()
{
	char a[N];
	int i;
	scanf("%s", a);
	for (i = 0; a[i] != '\0'; i++)
	{
		if ('A' <= a[i] &&a[i]<= 'Z')
			printf("%c", a[i]+32);
		
		else
		printf("%c", a[i]);
	}
	system("pause");
	return 0;
}

以上是錯誤的程式碼它只會將大寫字母轉換成小寫字母而小寫字母無法原樣輸出。錯誤原因:出現if語句的判斷上面,因為‘A'<=a[i]無論是真是假都會滿足表示式為真,即if語句

的條件是恆成立的那麼它就無法執行下面的else語句。

正確程式碼:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 100
int main()
{
	char a[N];
	int i;
	scanf("%s", a);
	for (i = 0; a[i] != '\0'; i++)
	{
		if ('A' <= a[i] &&a[i]<= 'Z')
			printf("%c", a[i]+32);
		
		else
		printf("%c", a[i]);
	}
	system("pause");
	return 0;
}
小結:在編寫程式的過程中一定要注意if的判斷條件。