C语言题,我跪了

[复制链接]
查看11 | 回复4 | 2012-12-28 18:39:58 | 显示全部楼层 |阅读模式
你好,我要说的是四点点第一:你看题目,题目是输入一行数字字符,而你scanf("%d/n",&a);是输入数字了,而在命令行上你是这么输入的例子:4 1 2 2 6 8 226 33 2 33 3 5 6 中间是有空格的,这样是输入多个数字,求每个数字出现的次数。第二:void cun(int*a,int*m)最好不要用int *a int *m有的编译器,会报错,没有初始化的指针是野指针,很容易破坏程序,甚至使程序崩溃。建议是用int c[]int d[] 第三:scanf("%d/n",&a); 输入时只能是scanf("%d",&a);不能加/n而且这是不对的应该是\n第四:m[a]++...
回复

使用道具 举报

千问 | 2012-12-28 18:39:58 | 显示全部楼层
scanf("%d/n",&a); //这里/n是两个字符 '/' 和 'n'改为scanf("%d",&a);要保证输入的是0-9,否则m[a]会越界...
回复

使用道具 举报

千问 | 2012-12-28 18:39:58 | 显示全部楼层
m[a]++;// a 越界了,a[]只有10大小,你这都可以a[19]了。...
回复

使用道具 举报

千问 | 2012-12-28 18:39:58 | 显示全部楼层
你把scanf里的\n去掉试试...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行