c++中如果定义char a,用了cin查找每一个字符,问号地方应该写什么

#include<iostream>usingnamespacestd;intmain(intargc,char*argv[]){chara;intf[9],i;for(... #include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
char a;int f[9],i;
for(i=0;i<10;i++){
f[i]=0;
}
cin>>a;
while(?){
f[a-48]++
cin>>a;
}
for(i=0;i<10;i++){
if(f[i]!=0){
cout<<i<<":"<<f[i]<<endl;
}
}
return 0;
}
问号里应该填什么
展开
 我来答
wshmaple
2017-10-14 · TA获得超过143个赞
知道小有建树答主
回答量:164
采纳率:57%
帮助的人:68.6万
展开全部
代码要实现什么功能。
提一下上面代码中存在的问题:
char a;int f[9],i;
for(i=0;i<10;i++){
f[i]=0;
}
这个里面,int f[9] 长度为9 即:f[0]~f[8]
在下面的for 循环中实际上循环了 10 次所以,f[i] 中当i=9的时候f[9]会数组越界。
追问
你错了偶,int j[9]定义后长度为10,j[0]~j[9],0到9一共10个
追答

少年,你错了,加断点看看数据内存吧

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式