#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;
}
~~~力扣代码