相关疑难解决方法(0)

数组索引超出范围异常

我想打印出这个多维数组的元素,但我得到索引超出范围错误.

public class test {
    public static void main(String[] args) {
        int array1[][]={{1,2,3,4},{5},{6,7}};
        for (int i=0; i<3;i++){
            for (int j=0; j<4;j++){
                System.out.println(array1[i][j]);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java arrays indexing

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

评估顺序>>和[++]

我对C++中的操作的优先级有疑问.我在http://en.cppreference.com/w/cpp/language/operator_precedence中搜索优先级,我读到的这个问题或多或少与C中的数组增量差异相同

我没有得到任何明确的结论.如果我做

var >> array[n++];
Run Code Online (Sandbox Code Playgroud)

运算符>>用于读取字符的流.¿它存放在哪里我读了?在n或n + 1?

谢谢

c++ operator-precedence

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

在C中编写递归函数

我正在研究如何编程,并且最近一直在研究一个问题,该问题计算从最小到最大的2个输入数字的总和.例如,如果有人输入数字4,7.计算将是4 + 5 + 6 + 7 = 22.

我已经尝试了我认为recSum的定义,但显然它是错误的,因为我得到了一个分段错误.我的定义有什么问题?

/* Define the recursive function */
int recSum (int x, int max)
{
int incrementalSum = 0;
if (x == max) 
{
   return x; /* Exit if summated lower to upper numbers */
}
else
{
   return (x + recSum(x++, max)); /* My recursive call */
}
} /* End of function call */
Run Code Online (Sandbox Code Playgroud)

*上面显示了新代码,抱​​歉,我使用了错误的代码.

c recursion if-statement

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

i ++和++ i之间的区别?

这是我的代码:

int main()
{
    int i=2,j=2,c=2,d;

    d= ++i || ++j && c;
    printf("I is %d\n",i);
    printf("J is %d\n",j);
    printf("C is %d\n",c);
    printf("D is %d\n",d);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

以下代码的输出是:

i is 3                                                                                                                                                                          
j is 2                                                                                                                                                                          
c is 2                                                                                                                                                                          
d is 1
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,如果++i是,3那为什么++j是2?

++ii++?有什么区别?此外,我想知道是怎么来d1

c short-circuiting

-2
推荐指数
2
解决办法
467
查看次数

"无论如何,请按照指南"更喜欢++ i而不是i ++",你就不会出错.这背后的原因是什么?

我曾经碰到过这样的回答这个问题.在其中一行中,作者提到:

在任何情况下,遵循准则"宁可++ii++",你会不会出问题.

我知道这++i比稍快i++,但认为没有理由让他们出错.我搜索了一会儿,我能找到的最接近的是这个.它清楚地解释了为什么它更喜欢使用++i,但不是你怎么可能出错使用i++.

所以有人能告诉我怎么i++会出错?

注意:我的问题不是欺骗,因为我没有询问性能.我已经看到了这个问题.我在问i++我上面提到的答案中提到的怎么可能是错的.

c pre-increment post-increment

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

printf对* p ++的处理不同于对p的处理

* p ++通常将1加到指针,然后再引用。但是printf只是在取消引用后才使用该值,而指针先增加后又取消引用。

#include<stdio.h>

int main()
{
    int a[] = { 10,20,30 };
    int *p = a;

    printf("%d\n", *p++);//this makes p point at 20 but prints 10
    printf("%d\n", *p);//prints 20
    printf("%d\n", a[0]);//prints 10

}
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么会这样吗?

提前致谢

c c++ printf pointers

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

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

C代码,其中我有一个整数变量的值,在预增量操作后我需要得到输出

i=2;

i= ++i + ++i + ++i;

printf(i)
Run Code Online (Sandbox Code Playgroud)

请给出输出说明吗?
我得到的答案是12但它应该是13.

c pre-increment

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

有人可以解释为什么下面的增量没有添加 +1

有人能帮我解释一下为什么会这样吗

let one = 1;

function chg(arg) {
  return arg++ // --> shouldn't this be similar to arg + arg? but it's outputting 1
}

console.log(one);
console.log(chg(one));
Run Code Online (Sandbox Code Playgroud)

javascript

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

为什么++不增加整数值?

在C中,为什么不num1++增加printf()

int num1 = 1;
printf("num1=%d", num1++);
Run Code Online (Sandbox Code Playgroud)

c

-27
推荐指数
2
解决办法
444
查看次数