运行结果怎么是4247254和16384啊?我刚学c++不久

qq1100119 2011-03-29 05:48:44
题目是:一个数,如果它是1到10,就把它设为0;如果是11到20,就设为-1;如果是21到30,就设为-2。
编译不出错啊,但是运行后显示就是4247254 16384 16384
麻烦各位老师帮帮我,怎么解决啊?
#include <iostream>
using namespace std;
int bo(int)
{
int x;
int s1[]={1,2,3,4,5,6,7,8,9,10};
int s2[]={11,12,13,14,15,16,17,18,19,20};
int s3[]={21,22,23,24,25,26,27,28,29,30};
for(int i=0;i!=10;i++)
{
if(x==s1[i])x=0;
if(x==s2[i])x=-1;
if(x==s3[i])x=-2;
}
return x;

}
int main(int argc, char *argv[])
{
cout<<bo(5)<<endl;
cout<<bo(11)<<endl;
cout<<bo(25)<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
...全文
122 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ri_aje 2011-03-29
  • 打赏
  • 举报
回复

int bo(int x)
{
int s1[]={1,2,3,4,5,6,7,8,9,10};
int s2[]={11,12,13,14,15,16,17,18,19,20};
int s3[]={21,22,23,24,25,26,27,28,29,30};
for(int i=0;i!=10;i++)
{
if(x==s1[i])x=0;
if(x==s2[i])x=-1;
if(x==s3[i])x=-2;
}
return x;

}

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧