int a[10]={0,1,2,3,4,5,6,7,8,9}; int *p=&a[2]; 则p[3]等于?
时间: 2024-04-07 17:24:29 浏览: 153
根据题目,已知int a[]={1,2,3,4,5};int*p[]={a,a+1,a+2,a+3};int **q=p;表达式*(p+1)+**(q+2)的值是5。另外,引用提供的信息与此问题无关,不需要参考。
根据题目,int a[10]={0,1,2,3,4,5,6,7,8,9}; int *p=&a; 则p等于5。解释如下:
- p指向a,即3。
- p表示p指向的地址往后偏移3个int类型的长度,即p+3,对应的值为a,即5。
相关问题
【次对角线对称阵】 1 2 3 9 6 3 对矩阵 a = 4 5 6 ,输出其次对角线对称阵 b = 8 5 2 7 8 9 7 4 1 要求: 用函数 void input(int x[3][3]); 实现二维数组的输入 用函数 void output(int x[3][3]); 实现二维数组的输出 用函数 void fun(int a[3][3],int b[3][3]);实现将矩阵a的次对角线对称阵存放入矩阵b 【运行结果示例】 输入: 1 2 3 4 5 6 7 8 9 输出: 1 2 3 (先输出矩阵a,元素输出格式为 "%-4d") 4 5 6 7 8 9 (两个矩阵之间空一行) 9 6 3 (再输出矩阵b,元素输出格式为 "%-4d") 8 5 2 7 4 1c语言
```c
#include <stdio.h>
void input(int x[3][3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &x[i][j]);
}
}
}
void output(int x[3][3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%-4d", x[i][j]);
}
printf("\n");
}
}
void fun(int a[3][3], int b[3][3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
b[i][j] = a[2-i][2-j];
}
}
}
int main() {
int a[3][3], b[3][3];
input(a);
printf("\n");
output(a);
printf("\n");
fun(a, b);
output(b);
return 0;
}
```
1 public class Test3 { 2 public static void main (String args[ ]){ 3 byte b = 32; 4 int n=100; 5 char c ='A'+b; 6 int m = b+1; 7 } 8 }
这段代码没有明显的语法错误,可以正常编译和运行。在 main 方法中,定义了一个 byte 类型的变量 b,赋值为 32;一个 int 类型的变量 n,赋值为 100;一个 char 类型的变量 c,赋值为 'A' 的 Unicode 编码值加上变量 b 的值;一个 int 类型的变量 m,赋值为变量 b 的值加上 1。由于变量 c 的类型是 char,所以变量 b 的值会被自动转换为整数类型进行加法运算,并将最终结果转换为对应的字符类型赋值给变量 c。变量 m 的类型是 int,因此变量 b 的值也会被自动转换为整数类型进行加法运算,并将最终结果赋值给变量 m。由于这段代码没有输出语句,因此不会在控制台上打印任何信息。
阅读全文