{
int a,b=0;
char s[5];
for(a=0;a<5;a++)
{
b++;
s[a]=(char)b;
}
printf("%s",s);
}
----------------解决方案--------------------------------------------------------
main()
{
int a,b=0;
char s[5];
for(a=0;a<5;a++)
{
b++;
s[a]=(char)b;
}
printf("%s",s);
getch(); //可能你是这的问题吧~``程序没有问题..
}
----------------解决方案--------------------------------------------------------
输出来是一些乱七八糟的符号,不是想要的12345
----------------解决方案--------------------------------------------------------
你这样输出的是ASCII码为12345的字符,当然不会是12345了
----------------解决方案--------------------------------------------------------
我写了一个实现类似功能的,随便看看,也不知道楼主是不是这个意思
#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);
}
----------------解决方案--------------------------------------------------------
#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]);
}
}
不知道楼主是什么意思!!~~
----------------解决方案--------------------------------------------------------
用(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;
}
----------------解决方案--------------------------------------------------------