0

我对编程很陌生,我一直在尝试做以下事情,但我不知道我是否做得对。

我有以下声明

int a, b, c;
int *p1, *p2, *p3;
char d, str[10], *cp;
float big, r;

并且通过这些声明,我必须找出如何声明以下 q 变量。例如,如果 *p3 是整数指针,而 r 是浮点数。那么 q1 必须是什么。我需要找出如何声明它。

但由于每个人的类型不同,我不知道该怎么做。一些提示将不胜感激

q1 = r + *p3;                     
q2 = &p1 + 5;
q3 = *str + c;
q4 = &str[4];
q5 = *p2;
4

1 回答 1

3
int a, b, c;
int *p1, *p2, *p3;
char d, str[10], *cp;
float big, r;

所以我认为问题是使用上面的声明和下面的表达式,并为表达式提出一组有效的类型。

q1 = r + *p3;           
q2 = &p1 + 5; 
q3 = *str + c;  
q4 = &str[4];  
q5 = *p2;        

我认为这些类型对上面的表达式有效:

float q1 = r + *p3;  // float = float + int                   
int **q2 = &p1 + 5;  // int ** = int** + int
int q3 = *str + c;   // int = char + int
char *q4 = &str[4];  // char * = char *
int q5 = *p2;        // int = *int*

q1、q3 和 q5 可以是任何数字类型。我选择了对我来说最明显的一个。

于 2013-09-18T20:32:00.080 回答