如何在 C 語言中把整數轉換為字元
Satishkumar Bharadwaj
2023年1月30日
2020年11月24日
本教程介紹瞭如何在 C 語言中把一個整數值轉換為字元值,每個字元都有 ASCII 碼,所以在 C 語言中已經是一個數字,如果要把一個整數轉換為字元,只需新增'0'
即可。
新增'0'
將一個 int
轉換為 char
'0'
的 ASCII 值是 48,所以,我們要把它的值加到整數值上,轉換成所需的字元。程式如下。
#include<stdio.h>
int main(void)
{
int number=71;
char charValue = number+'0';
printf("The character value is :%c",charValue);
return 0;
}
輸出:
The character value is: w
下面是一個將整數轉換成 0 到 9 之間的字元的程式。
#include<stdio.h>
int main(void)
{
int number=7;
char charValue=number+'0';
printf("The value is :%c",charValue);
return 0;
}
輸出:
The value is: 7
另一個將整數值轉換成字元的程式如下:
#include<stdio.h>
int main(void)
{
char charValue[] = "stringValueX";
int anyNumber;
for (anyNumber= 0; anyNumber< 10; ++anyNumber)
{
charValue[11] = anyNumber+ '0';
puts(charValue);
}
return 0;
}
輸出:
stringValue0
stringValue1
stringValue2
stringValue3
stringValue4
stringValue5
stringValue6
stringValue7
stringValue8
stringValue9
將一個整型值分配給字元值
另一種將整數值轉換為字元值的方法是將一個整數值分配給一個字元值,如下圖所示。這裡列印出整數值對應的字元值。
#include<stdio.h>
int main(void)
{
int number = 65;
char charvalue = number;
printf("The character value :%c", charvalue);
return 0;
}
輸出:
The character value : A
下面是另一種將整數值轉換為字元值的方法。這裡的值是被打出來的, 所以值 67 被轉換為相應的 ASCII 值。
#include<stdio.h>
int main(void)
{
int number = 67;
char charValue = (char)number;
printf("The character value = %c", charValue);
return 0;
}
輸出:
The character value = C
sprintf()
轉換整型為字元的函式
sprintf()
函式的工作原理與 printf()
函式相同,但它不是將輸出傳送到控制檯,而是返回格式化的字串。
sprintf()
函式的第一個引數是指向目標字串的指標。其餘引數與 printf()
函式相同。
sprintf()
語法
int sprintf(char *strValue, const char *format, [arg1, arg2, ... ]);
Where,
strValue
是指向 char 資料型別的指標。format
是用來顯示輸出型別和佔位符。[arg1, arg2, ...]
是要轉換的整數。
函式將資料寫入 strValue
指向的字串中,並返回寫入 strValue
的字元數,不包括空字元。返回值一般會被丟棄。如果操作過程中出現錯誤,則返回 -1
。將整數轉換為字元的程式如下。
#include<stdio.h>
int main(void)
{
int number = 72;
char charValue[1];
sprintf(charValue, "%c", number);
printf("The character value = %s", charValue);
return 0;
}
輸出:
The character value = H