我对编程非常陌生,我一直在尝试做以下事情,但我不知道我是否做得对。
我有以下声明
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;
答案 0 :(得分: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可以是任何数字类型。我选了一个对我来说最明显的那个。