++frequency[2] ;
我认为尚未初始化的数组的默认值为0。
Imo,这意味着评估
frequency[2]
为零,然后向其添加1并将其分配给索引2。
请任何人解释如何获得此代码的输出。我真的很努力。
public static void main(String ars[])
{
int responses[] = {1,2,4,4};
int freq[] = new int[5];
for(int answer = 1;answer < responses.length;answer++){
++freq[responses[answer]];
}
for ( int rating = 1; rating < freq.length; rating++ )
System.out.printf( "%6d%10d\n", rating, freq[ rating ] );
//输出
1 0
2 1
3 0
4 2
答案 0 :(得分:1)
是的,你是。
int[] frequency = new int[3];
System.out.println(frequency[2]);
System.out.println(++frequency[2]);
System.out.println(frequency[2]);
打印:
0
1
1
编辑:正如潜伏者在此How does this pre increment on arrays work所说,这个答案对Java有效,但可能不适用于其他语言。