你的程序的确很绕啊。但是在我想了一下换是明白了。:你只要把你每次改变b记下来就明白了 我给你说10吧 28也是一样的 首先b = 2;之后fun函数传过去了a[2]的地址就是3 ,经过运算函数返回了b的值是5 ,在接着就是 b=fun(&a[i])+b;这句 最后b就被改写成了10了 最后输出就是10 第二...
例6-2 将10个整数存入数组,删除数组中的某个元素。例如,数组中有1,2,3,4,5,6,7,8,9,10共10个元素,删除第5个元素后,数组中剩下9个元素1,2,3,4,6,7,8,9,10。首先定义一个长度为10的int型数组,用来存放10个整数。用循环输入数组的每个元素,以及要删除元素的序号(假设序号为n)...
答案是:54 解释:(p+1)的值是9 (p+2)[2]等价于a[4],或者*(p+4),其值是6 两者相乘54
for(i=0;i<3;i++)//就可以了 你原来的i++<4 4次循环,i分别变成 1 a[1]与a[5-1] 交换 2 a[2] ,a[3]3 a[3] a[2]4 a[4] a[1]看到没有这几个数据交换后又交换回去了。所以没有变化,而且a[0]与a【5】根本没有交换过!
include <iostream>#include <iomanip>#define N 3 //行数#define COL 4 //列数using namespace std;int main(){ int arr[N][COL]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; //二维数组,测试数据 int brr[N*COL]={0}; //一维数组 int k=0; for(int i=0;...
int x[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p1;(A) x[3]// x[3]=3 数组从0开始,3其实是第四个 (B) p1 = x + 3, *p1++ //先执行p1=x+3,也就是指向x[3],因为p1定义成指针。*p1++ 这时候先执行再加,这表达式仍然是3 (C) p1 = x + 2, *(...
第一种:0到99共有100个数,首位相加,即0+99=99 1+98=99 ...依次类推 直到加到49+50=99 一共加了100/2=50次 所以总和即为 99*50=4950 第二种:把0和50除去,剩下了98个数,还是首位相加,即1+99=100 2+98=100...依次类推 直到加到49+51=100 这次一共加了98/2=49次 ∴...
a[0]=1 a[2]=3 a[0]+2*a[2]=7 a[7]=8 答案选 D
int i[10]={1,2,3,4,5,6,7,8,9,10 } ; 这意味着i[0]的值为1,而i[9]的值为10。 存放字符串的字符数组的初始化可采用如下简化的形式: char array_name[size] = "string"; 例如,以下代码段将str 初始化为”hello”。 char str[6] = "hello"; 上面代码产生和下面代码相同的结果: char str...
下面的程序根据输入的a值动态生成int[] i ,当a=2时,int[] i = {1,2};当a=5时,int[] i = {1,2,3,4,5};完整的程序如下:import java.util.Scanner;public class L { public static void main(String[] args) { Scanner sc=new Scanner(System.in);System.out.print("请输入a的...