0

私はプログラミングに非常に慣れていないので、次のことをやろうとしていますが、それが正しいかどうかわかりません。

私は次の宣言を持っています

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

これらの宣言を使用して、次の q 変数を宣言する方法を見つけなければなりません。たとえば、*p3 が整数ポインターで、r が float の場合。その場合、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 に答える