#include <stdio.h>
#include <iostream>
using namespace std;
int main(int n, char** args)
{
int x[]= {2};
int y[]= {8};
int *p = x;
int *q = y;
printf("0x%x 0x%x\n", x, *x);
printf("0x%x 0x%x\n", p, **p);
printf("0x%x 0x%x\n", y, *y);
printf("0x%x 0x%x\n", q, **q);
printf("0x%x \n", &p);
printf("0x%x \n", &q);
system("pause");
}
idk whyit显示非法间接,而问题是这样的,
引入int变量x和y以及int *指针变量p和q。将x设置为2,将y设置为8,将p设置为x的地址, 和q到y的地址。然后打印以下信息:
&#34; 1。 x的地址和x的值。 2. p的值和* p的值。 3. y的地址和y的值。 4. q的值和* q的值。 5. p的地址(不是它的内容!)。 6. q的地址(不是其内容!)。&#34;
我的代码有什么问题请帮助我:((
答案 0 :(得分:0)
我认为这就是你要找的东西
#include <stdio.h>
#include <iostream>
using namespace std;
int main(int n, char** args)
{ int x= 2;
int y= 8;
int *p = &x;
int *q = &y;
printf("0x%x 0x%u\n", &x,x);
printf("0x%x 0x%u\n", p, *p);
printf("0x%x 0x%u\n", &y, y);
printf("0x%x 0x%u\n", q, *q);
printf("0x%x \n", &p);
printf("0x%x \n", &q);
system("pause"); }