小编Gri*_*han的帖子

任何人都可以帮我解决这个程序的执行顺序

我试图预测这个程序的输出:

#include
void fun(int x)
{
  if (x > 0)
  {
    fun(--x);
    printf("%d\t", x);
    fun(--x);
  }
}

int main()
{
  int a = 4;
  fun(a);
  getchar();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

该程序的输出是:

0 1 2 0 3 0 1
Run Code Online (Sandbox Code Playgroud)

我知道很难用术语来解释,但我想知道的是当4作为参数传递而不是第一个语句fun(4--)fun(3)执行时,所以从这里做一个调用fun(3)或者3打印然后fun(3--)语句被执行,因为基本上我是对以下顺序感到困惑:

fun(--x);
printf("%d\t", x);
fun(--x);
Run Code Online (Sandbox Code Playgroud)

执行这3个语句.

c recursion

0
推荐指数
1
解决办法
156
查看次数

C浮点值转换

int main(){

    int  N, i, j=0;

    float MA, MB, asum=0, bsum=0, y;

    printf("\number of pairs: "); scanf("%d", &N);

    int a[N+1], b[N+1], c[N+1];


    for(i=1; i<N+1; i++){

        printf("\na%d",i); printf("=");
        scanf("%f", &a[i]);


        printf("b%d",i); printf("=");
        scanf("%f", &b[i]);

        printf("\n aSUM= %.6f \n",asum);
        asum+=a[i];
        printf("\n aSUM= %.6f \n",asum);

    } 
Run Code Online (Sandbox Code Playgroud)

这段代码的想法很简单.用户输入int或float值,然后将它们相加并输出为浮点值.然而,我立即获得了天文数字.铁.如果它试图添加0和7,它输出值1088421888.000000.到底他妈发生了什么??:d

c

0
推荐指数
1
解决办法
81
查看次数

无法理解此c程序的结果

#include<stdio.h>
void main(){
  int i;
  i = 011;
  printf("%d",i);
}
Run Code Online (Sandbox Code Playgroud)

该程序输出为9.我不知道原因.请帮我弄清楚为什么这个程序提供这个输出.

c binary

0
推荐指数
2
解决办法
103
查看次数

将字典转换为字符串

我有

  dic = {'value': '123','sort': 'desc','type': 'float'} 
Run Code Online (Sandbox Code Playgroud)

我希望它变成字符串:

 str = 'value=123&sort=desc&type=float'
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

谢谢

python string dictionary

0
推荐指数
2
解决办法
1183
查看次数

通过指针访问时NAN是否返回false?

我正在编写一个返回指向数组数组的指针的函数.为了能够使用指针迭代数字,我将最后一个元素设置NAN为标记数组的结尾.
My Loop就像是

for(int* it=ptr;!isnan(*it);++it)  
//print *it
Run Code Online (Sandbox Code Playgroud)

但它一直持续到它崩溃所以我写了一些测试代码:

int* test = new int[1];  
*test = NAN;  
cout << isnan(NAN) << endl;  
cout << isnan(*test) << endl;
Run Code Online (Sandbox Code Playgroud)

结果是:

1
0
Run Code Online (Sandbox Code Playgroud)

我已经看到很多NAN在数组中用作"塞子"的例子.那为什么不起作用?

c++ pointers nan math.h

0
推荐指数
1
解决办法
197
查看次数

数组中元素的地址

#include<stdio.h>
int main()
{
   int a[3][4]={2,5,3,2,6,9,0,1,8,10,11,12};
   printf("%u, %u, %u",a,a+1,&a+1);
   return 0;
   getch();
}
Run Code Online (Sandbox Code Playgroud)

此代码的输出是:

 2293472,  2293488, 2293520
Run Code Online (Sandbox Code Playgroud)

有人能解释我怎么得到这个?

c multidimensional-array

0
推荐指数
1
解决办法
125
查看次数

为什么//返回一个浮点数?

如果"//"适用于整数,为什么此函数会打印浮点数?

>>> minimum = int((a + b) - math.fabs(a-b))//2      
>>> print(type(minimum))
Run Code Online (Sandbox Code Playgroud)

python math integer floating python-3.x

0
推荐指数
1
解决办法
516
查看次数

关于String对象创建

我对字符串对象的创建感到有点困惑.有人能告诉我,在下面两种情况下会创建多少个String对象?

1)

String s = new String("abc");
s = s + "xyz";
Run Code Online (Sandbox Code Playgroud)

2)

String s = new String("abc");
String s1 = "xyz";
Run Code Online (Sandbox Code Playgroud)

java string

0
推荐指数
1
解决办法
57
查看次数

将m位设置为n位

我有一个32-bit数字而不使用for循环,我想将m位设置 n位.

例如:

m位可以是2nd5th9th10th.
n位可以是 22nd2711th位.

我假设(m <n).

请帮帮我.谢谢

c bit-manipulation

-1
推荐指数
1
解决办法
3759
查看次数

何时使用"."或" - >"运算符来访问属性或成员函数?

在C,C++和Objective-C中,我们可以使用.->访问值或函数.两者之间有什么区别或缺点?

c c++ objective-c

-1
推荐指数
1
解决办法
610
查看次数