求助一道C语言的题
有程序段如下:#include<stdio.h>#include<stdlib.h>typedefstruct_tmp{inti;doubled;charch;int*p...
有程序段如下:
#include <stdio.h>
#include <stdlib.h>
typedef struct _tmp
{
int i;
double d;
char ch;
int *pointer;
} tmp, *ptmp;
int main()
{
int *pi = (int *)malloc(sizeof(int));
double *pd = (double *)malloc(sizeof(double));
struct _tmp temp1 = {50, 33.3, 'X', pi};
tmp *pt1 = (tmp *)malloc(sizeof(struct _tmp));
ptmp pt2 = (ptmp)malloc(sizeof(tmp));
*pi = temp1.i * 3;
*pd = temp1.d * 2;
pt2->i = 100;
pt2->d = 44.4; //第23行
pt2->ch = 'Z';
*pt1 = temp1;
pt2->pointer = pt1->pointer; //第27行
pt2 = pt1; //第28行
//......
return 0;
}
请回答在程序运行到第27行时(第27行运行完成):
1)pt1->pointer表达式的值;
2)*pt1->pointer表达式的值;
3)pt2->i表达式的值;
4)*pt2->pointer表达式的值;
在程序运行到第28行时(第28行运行完成):
5)pt2->pointer表达式的值;
6)pt2->i表达式的值;
7)*pt2->pointer表达式的值;
8)*&(*pi)表达式的值;
9)此时是否有表达式的值为100?
10)此时是否有表达式的值为44.4? 展开
#include <stdio.h>
#include <stdlib.h>
typedef struct _tmp
{
int i;
double d;
char ch;
int *pointer;
} tmp, *ptmp;
int main()
{
int *pi = (int *)malloc(sizeof(int));
double *pd = (double *)malloc(sizeof(double));
struct _tmp temp1 = {50, 33.3, 'X', pi};
tmp *pt1 = (tmp *)malloc(sizeof(struct _tmp));
ptmp pt2 = (ptmp)malloc(sizeof(tmp));
*pi = temp1.i * 3;
*pd = temp1.d * 2;
pt2->i = 100;
pt2->d = 44.4; //第23行
pt2->ch = 'Z';
*pt1 = temp1;
pt2->pointer = pt1->pointer; //第27行
pt2 = pt1; //第28行
//......
return 0;
}
请回答在程序运行到第27行时(第27行运行完成):
1)pt1->pointer表达式的值;
2)*pt1->pointer表达式的值;
3)pt2->i表达式的值;
4)*pt2->pointer表达式的值;
在程序运行到第28行时(第28行运行完成):
5)pt2->pointer表达式的值;
6)pt2->i表达式的值;
7)*pt2->pointer表达式的值;
8)*&(*pi)表达式的值;
9)此时是否有表达式的值为100?
10)此时是否有表达式的值为44.4? 展开
1个回答
展开全部
1)pt1->pointer表达式的值——pi;
2)*pt1->pointer表达式的值——150;
3)pt2->i表达式的值——100;
4)*pt2->pointer表达式的值——150;
在程序运行到第28行时(第28行运行完成):
5)pt2->pointer表达式的值——pi;
6)pt2->i表达式的值——50;
7)*pt2->pointer表达式的值——150;
8)*&(*pi)表达式的值——150;
9)此时是否有表达式的值为100?——无
10)此时是否有表达式的值为44.4?——无
仅供参考……
2)*pt1->pointer表达式的值——150;
3)pt2->i表达式的值——100;
4)*pt2->pointer表达式的值——150;
在程序运行到第28行时(第28行运行完成):
5)pt2->pointer表达式的值——pi;
6)pt2->i表达式的值——50;
7)*pt2->pointer表达式的值——150;
8)*&(*pi)表达式的值——150;
9)此时是否有表达式的值为100?——无
10)此时是否有表达式的值为44.4?——无
仅供参考……
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询