一个C语言的问题,各位帮下
请补充一个fun函数,该函数的功能是按‘0’到‘9’统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中,不可以用字符串库函数[code]
#include <conio.h>
#include <stdio.h>
#define N 1000
void fun(char *tt, int num[])
{
int i, j;
int bb[10];
char *p = tt;
for (i=0; i<10; i++)
{
num = 0;
bb = 0;
}
while (*p)
{
if (*p>='0' && *p<='9')
bb[*p-'0']++;
p++;
}
for (i=1, j=0; i<10; i=i+2, j++)
num[j]=bb;
}
main()
{
char str[N];
int num[10], k;
printf("\nPlease enter a char string:");
gets(str);
printf("\n*******The original string******\n");
puts(str);
fun(str, num);
printf("\n*******The number of letter******\n");
for (k=0; k<5; k++)
{
printf("\n");
printf("%d= %d ", 2*k+1, num[k]);
}
printf("\n");
}
[/code]
问下为什么bb[*p-'0']++;改成bb[*p]++;就不可以了。为什么要bb[*p-'0']++;而不是bb[*p]++;啊
急 :time: 不会语言!!!
回复 1楼 hilarylove 的帖子
0 1 2 3 4 5 6 7 8 9而不是1 2 3 4 5 6 7 8 9 10
好像是这个问题·· 上面这个程序有错误吧!
问题一:
[code]
……
for (i=0; i<10; i++)
{
num = 0;
bb = 0;
}
……
[/code]
这个里面bb里面是数组是首地址,你想给他赋值为0,貌似不行吧!
问题二:
[code]
main()
{
char str[N];
int num[10], k;
[/code]
你的main函数到底有没有返回值,如果有请注明你的main函数返回值类型及return回来的是谁,
如果没有请说明是无返回值的函数,在main前加上void!
页:
[1]