#include<stdio.h>
#include<stdlib.h>
#pragma warning(disable: 4996)
int main() {
int number = 1234;
char string[12] = { 0 };
itoa(number, string, 10);
printf("Num:%d; Str:%s\n", number, string);
getchar();
return 0;
}
註釋:itoa()原型: char *itoa( int value, char *string,int radix);
原型說明:
輸入參數:
value:要轉換的數據。
string:目標字符串的地址。
radix:轉換後的進制數,可以是10進制、16進制等,範圍必須在 2-36。
功能:將整數value 轉換成字符串存入string 指向的內存空間 ,radix 爲轉換時所用基數(保存到字符串中的數據的進制基數)。
返回值:函數返回一個指向 str,無錯誤返回。
注意:itoa不是一個標準的c函數,他是windows特有的,跨平臺寫程序,要用sprintf。
報錯:vs2017下錯誤 C4996 'itoa': The POSIX name for this item is deprecated.Instead, use
解決:添加#pragma warning(disable: 4996)
字符串定義並輸出
#include<stdio.h>
#include<string.h>
int main(){
char str[5] = "hello";
for(int i=0; i<strlen(str); i++){
printf("re:%c\n",str[i]);
}
}
註釋:
%c格式對應的是單個字符;
%s格式對應的是字符串。這裏需要用%c才能輸出hello
定義字符串也可以使用指針
#include <stdio.h>
char* intString(int num,char *str);
int main()
{
int number = 121;
char string[16] = {0};
intString(number,string);
printf("result:%d re:%s\n",number,string);
return 0;
}
char* intString(int num,char *str)
{
sprintf(str, "%d", num);
return str;
}
跨平臺使用sprintf,使用sprintf;
bool isPalindrome(int x){
if(x<0)return false;
if(x==0)return true;
char* intString(int num, char *str);
char str[100] = {0};
//itoa(x, str, 10);
//string str = to_string(x);
intString(x, str);
int i = 0;
int j = strlen(str)-1;
while(i<j){
if(str[i] == str[j]){
i++;
j--;
}else return false;
}
return true;
}
char* intString(int num, char *str){
sprintf(str, "%d", num);
// int j = strlen(str)-1;
return str;
}
~~~力扣代碼