问题标题: 酷町堂:1个代码多种答案

0
0
已解决
陈喆鹏
陈喆鹏
资深光能
资深光能

#include<iostream>
#include<cmath>
#include<string>
using namespace std;
long long A(int n)
{
 long long s;
 int x;
 while(n==0)
 {
  x=n%2;
  s+=x;
  s*=10;
  n=n/2;
 }
 return s;
}
int main()
{
 int n;
 cin>>n;
 cout<<A(n);
}

运行这个代码

再调一下编译器

输入3

能得到多个诡异的答案

 


0
已采纳
栾峻岩
栾峻岩
初级天翼
初级天翼

我的代码输出0.

原因很简单,因为

 long long s;
 int x;

没有赋初始值,(虽然是在主程序外的函数内,但是也算局部变量)。

所以会输出一个随机数。

===============此贴终结===========

 

如果输出的n不为0,则会输出s的初始值。

0
0
0
0
0
0
0
0
0
吕若朴
吕若朴
中级光能
中级光能

@酷町喵~o( =∩ω∩= )o~ 

@葛新 

管管呀!

这儿有个“洪水帖”!!!

我要被淹死了!!!!!

0
傅文彬
傅文彬
新手天翼
新手天翼

???????没有呀!

0
徐睿涵
徐睿涵
初级守护
初级守护

1:

2:

3:

SO,木有呀???                                       俺的是7405136,傅文彬 是1?????

I do not now.

0
黄品翔
黄品翔
初级光能
初级光能

我的是143393908448034819!!!

0
张睿杰
张睿杰
初级天翼
初级天翼

c++版本不一样,输出就不一样

0
0
孙坚恒
孙坚恒
资深守护
资深守护

厉害(不是说你发水贴)

0
朱智霖
朱智霖
新手守护
新手守护

呵呵,真水,我的是3099941

0
我要回答