C语言基础问题
#include<stdio.h>#include<math.h>
void main()
{
int a,i=0,j=0,k=0,t;
char c;
while((c=getchar())!='\n')
{
if(c==' ')
{
++i;
}
else if(c>='0'&&c<='9')
{
a=c;
++j;
}
else
{
++k;
}
}
printf("空白符有%d个\n其他字符有%d个\n数字有%d个\n",i,k,j);
for(t=0;t<j;t++)
printf("%d",a);
}
上面是035讲的第三道题,编译时显示没问题,为什么就是运行不了呢?
求指点 return 0; #include<stdio.h>
int main()
{
int a ,i=0,j=0,k=0,t;
char c;
while((c=getchar())!='\n')
{
if(c==' ')
{
++i;
}
else if(c>='0'&&c<='9')
{
a=c;
++j;
}
else
{
++k;
}
}
printf("空白符有%d个\n其他字符有%d个\n数字有%d个\n",i,k,j);
for(t=0;t<j;t++)
{
printf("%c",a);
}
return 0;
}
修改了 main方法的返回值,还修改了输出a数组的形式,以字符形式输出,因为存入a是0~9的ASCII编码值,以十进制输出会显示48~57之间的数值,并不会显示0~9 我用的是void main(),不用ruturn的,我刚刚换台电脑试了一下,又可以了 是不是电脑的环境变量没有设置好 本帖最后由 !~!~! 于 2016-4-2 18:18 编辑
#include<stdio.h>
#include<stdlib.h>
void main()
{
int a, i = 0, j = 0, k = 0, t;
char c;
while ((c = getchar()) != '\n')
{
if (c == ' ')
{
++i;
}
else if (c >= '0'&&c <= '9')
{
a = atoi(&c);
++j;
}
else
{
++k;
}
}
printf("空白符有%d个\n其他字符有%d个\n数字有%d个\n", i, k, j);
for (t = 0; t < j; t++)
printf("%d", a);
}字符转数字
#include<stdlib.h>
a = atoi(&c);
页:
[1]