{
int a,b=0;
char s[5];
for(a=0;a<5;a++)
{
b++;
s[a]=(char)b;
}
printf("%s",s);
}
2007-04-12 16:29

2007-04-12 18:29
2007-04-12 18:49
你这样输出的是ASCII码为12345的字符,当然不会是12345了
2007-04-12 19:32
我写了一个实现类似功能的,随便看看,也不知道楼主是不是这个意思
#include "stdio.h"
#include "stdlib.h"
main()
{
int a,b=0;
char s[5];
for(a=1;a<=5;a++)
{
b=10*b+a; //将12345赋值给int型数b
itoa(b,s,10); //stdlib.h中的itoa函数是用来
//把int型b转化成string型存到s,参数10表示10进制
}
printf("%s\n",s);
}

2007-04-12 21:06
#include <stdio.h>
void main()
{
int a=0,b=0;
char s[5]="";
for(a=0;a<5;a++)
{
b++;
s[a]=(char) b;
printf("%c\n",s[a]);
}
}
///////////////////////////////////////////
#include <stdio.h>
void main()
{
int a=0,b=0;
int s[5];
for(a=0;a<5;a++)
{
b++;
s[a]=(char) b;
printf("%d\n",s[a]);
}
}
不知道楼主是什么意思!!~~
2007-04-12 23:29
用(char)b;强制转换后。用%c输出的是ASCII码!而不是数字了
下面printf("%c",s);那s指向的好象是数组s[5]的首地址!!用%d输出的就是数组a[0]的指针了!改成下面的
main()
{
int a,b=0;
char s[5];
for(a=0;a<5;a++)
{
b++;
s[a]=(char)b;
printf("%d",s[a]);
}
return 0;
}
2007-04-12 23:37