编程题求助,输出数量都为0
#include <iostream>#include <string.h>
using namespace std;
int l, d, s, o;
int main()
{
void count(char a[]);
char str;
printf("输入一个字符串:");
scanf_s("%s", str, 100);
count(str);
printf("字母数量为:%d\n数字数量为:%d\n空格数量为:%d\n其他字符数量为:%d\n", l, d, s, o);
return 0;
}
void count(char a[])
{
int len = strlen(a);
int l = 0, d = 0, s = 0, o = 0;
for (int i = 0; i < len; i++)
{
if ((a >= 'a' && a <= 'z') || (a >= 'A' && a <= 'Z'))
l++;
else if (a >= '0' && a <= '9')
d++;
else if (a == ' ')
s++;
else
o++;
}
} 本帖最后由 jhq999 于 2021-11-12 20:57 编辑
{:5_104:}
void count(char a[])
{
int len = strlen(a);
//int l = 0, d = 0, s = 0, o = 0;
for (int i = 0; i < len; i++)
{
if ((a >= 'a' && a <= 'z') || (a >= 'A' && a <= 'Z'))
l++;
else if (a >= '0' && a <= '9')
d++;
else if (a == ' ')
s++;
else
o++;
}
}
jhq999 发表于 2021-11-12 20:29
这样操作可以输出,为啥啊{:5_99:} 本帖最后由 jhq999 于 2021-11-12 21:05 编辑
123miao 发表于 2021-11-12 21:01
这样操作可以输出,为啥啊
你前面已经声明全局变量int l, d, s, o;
怎么还在函数里声明,这不就冲突了吗 jhq999 发表于 2021-11-12 21:03
你前面已经声明全局变量int l, d, s, o;
怎么还在函数里声明,这不就冲突了吗
冲突了就不会输出了是吧 123miao 发表于 2021-11-12 21:11
冲突了就不会输出了是吧
函数只是直接赋值给函数里的变量,而全局变量没有被赋值
页:
[1]