我想打印出这个多维数组的元素,但我得到索引超出范围错误.
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) 我对C++中的操作的优先级有疑问.我在http://en.cppreference.com/w/cpp/language/operator_precedence中搜索优先级,我读到的这个问题或多或少与C中的数组增量差异相同
我没有得到任何明确的结论.如果我做
var >> array[n++];
Run Code Online (Sandbox Code Playgroud)
运算符>>用于读取字符的流.¿它存放在哪里我读了?在n或n + 1?
谢谢
我正在研究如何编程,并且最近一直在研究一个问题,该问题计算从最小到最大的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)
*上面显示了新代码,抱歉,我使用了错误的代码.
这是我的代码:
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?
++i和i++?有什么区别?此外,我想知道是怎么来d的1?
在任何情况下,遵循准则"宁可
++i过i++",你会不会出问题.
我知道这++i比稍快i++,但认为没有理由让他们出错.我搜索了一会儿,我能找到的最接近的是这个.它清楚地解释了为什么它更喜欢使用++i,但不是你怎么可能出错使用i++.
所以有人能告诉我怎么i++会出错?
注意:我的问题不是欺骗,因为我没有询问性能.我已经看到了这个问题.我在问i++我上面提到的答案中提到的怎么可能是错的.
* 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)
有人可以解释为什么会这样吗?
提前致谢
有没有办法写如下所示的内容:
int i = 0;
int *p1 = &(i++);
int *p2 = &(++i);
Run Code Online (Sandbox Code Playgroud) i=2;
i= ++i + ++i + ++i;
printf(i)
Run Code Online (Sandbox Code Playgroud)
请给出输出说明吗?
我得到的答案是12但它应该是13.
有人能帮我解释一下为什么会这样吗
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)
在C中,为什么不num1++增加printf()?
int num1 = 1;
printf("num1=%d", num1++);
Run Code Online (Sandbox Code Playgroud) c ×7
c++ ×3
arrays ×1
if-statement ×1
indexing ×1
java ×1
javascript ×1
pointers ×1
printf ×1
recursion ×1