
一.題目描述
實現一個函數把一個整數轉為它對應的十六進制的字符串。
比如:輸入數字1234
輸出:4D2
二.思路分析
用一個sprintf函數可以解決問題,輸出相對應的字符串
要注意的問題就是:函數結束后要繼續使用的內存(比如返回局部數組的地址,鏈表)
三.完整代碼
#define _CRT_SECURE_NO_WARNINGS//這一句必須放在第一行
#include <stdio.h>
#include<stdlib.h>
//把一個整數,轉為它對應的十六進制的字符串
char* InttoStr(unsigned int n)
{char* restult= (char*)malloc(20 * sizeof(char));sprintf(restult, "%X", n);return restult;}
int main()
{unsigned int n;printf("請輸入一個數字 :");scanf("%d", &n);char*restult=InttoStr(n); printf("%s", restult);free(restult);//需要手動釋放return 0;
}
四.運行結果
