69,382
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
int getlen(char *s)
{
int n;
for(n = 0;*s != '\0';s++)
n++;
return n;
}
void reverse(char s[])
{
int i,j;
char c;
for(i = 0,j = getlen(s)-1;i < j;i++,j--)
{
c = s[i];
s[i] = s[j];
s[j] = c;
}
}
void itoa(int n,char s[])
{
int i,sign;
if((sign = n) < 0)
{
n = -n;
}
i = 0;
do
{
s[i++] = n % 10 +'0';
}while((n/=10)>0);
if(sign < 0)
{
s[i++] = '-';
}
s[i] = '\0';
reverse(s);
// s[getlen(s)]='\0';
}
int main()
{
int n=154;
char s[100];
int i;
itoa(n,s);
for(i=0;s[i]!='\0';i++)
printf("%c",s[i]);
printf("\n");
return 0;
}
#include <stdio.h>
int getlen(char *s)
{
int n;
for(n = 1;*s != '\0';s++)
n++;
return n;
}
void reverse(char s[])
{
int c,i,j;
for(i = 0,j = getlen(s)-2;i < j;i++,j--)//数组坐标从0开始的。
{
c = s[i];
s[i] = s[j];
s[j] = c;
}
}
void itoa(int n,char s[])
{
int i,sign;
if((sign = n) < 0)
{
n = -n;
}
i = 0;
do
{
s[i++] = n % 10 +'0';
}while((n/=10)>0);
if(sign < 0)
{
s[i++] = '-';
}
s[i] = '\0';
reverse(s);
}
int main()
{
int n=154;
char s[100];
itoa(n,s);
for(int i=0;s[i]!='\0';i++) //s[i]='\0'改为s[i]!='\0', 这个错误不应该啊。
{
printf("%c",s[i]);
}
printf("\n");
return 0;
}