int a,*b,**c;a=7;b=&a;c=&b;printf(“%d,%d,%d “,a,b,c);的输出结果是什么
时间: 2024-05-16 09:15:20 浏览: 11
这段代码存在两个问题:
1. `c` 的类型应该声明为 `int ***`,而不是 `int **`。
2. `printf` 函数中的占位符不够,应该有三个 `%d` 分别对应 `a`、`*b` 和 `**c`。
正确的代码为:
```
int a, *b, ***c;
a = 7;
b = &a;
c = &b;
printf("%d, %d, %d", a, *b, ***c);
```
输出结果为:
```
7, 7, 7
```
相关问题
#include<stdio.h> void fun (int *a,int *b); int main() { int a,b; scanf("a=%d,b=%d",&a,&b); fun(&a,&b); printf("a=%d b=%d\n",a,b); return 0; } void fun(int *a,int *b){ int temp; temp=*a; *a=*b; *b=temp; }c语言
这段代码实现了通过指针将两个变量的值进行交换的功能。首先在主函数中输入两个整数a和b,然后调用fun函数,将a和b的地址作为参数传递给fun函数。在fun函数中,将a所指向的变量值赋给temp,然后将b所指向的变量值赋给a所指向的变量,最后将temp的值赋给b所指向的变量。因此,通过指针操作,成功实现了a和b的值交换。最后在主函数中输出交换后的结果。
c语言中 int a=3,b=4,*p=&a; a=b-*p; printf("d\n",a);输出结果
这段程序有一个语法错误,应该将输出格式字符串中的"d"改为"%d"。修改后的程序如下:
```c
#include <stdio.h>
int main() {
int a = 3, b = 4, *p = &a;
a = b - *p;
printf("%d\n", a); // 输出a的值
return 0;
}
```
程序的运行结果为:
```
1
```
程序的执行过程如下:
1. 定义变量a、b和指针变量p,并将指针p指向变量a的地址。
2. 计算表达式"b - *p"的值,即将变量b的值4减去指针p所指向的变量a的值3,得到1。
3. 将计算结果1赋值给变量a。
4. 使用printf函数输出变量a的值,输出格式为"%d",即以十进制形式输出整数。程序输出的结果为1。
因此,程序的输出结果为1。