一、用变量a给出下面的定义
a) 一个整型数(An integer)
int a;
b) 一个指向整型数的指针(A pointer to an integer)
int*a;
c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer)
intb = 0;int *p = &b;int **prt = p&;
d) 一个有10个整型数的数组(An array of 10 integers)
int a[10];
e) 一个有10个指针的数组,该指针是指向一个整型数的(An array of 10pointers to integers)
int*a[10]
f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers)
int(*a)[10];
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that int takesan integer as an argument and returns an integer)
(*a)(int);
h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An int array of ten pointers to functions that take an integer argument and return aninteger )
(a*[10])(int);
二、分析以下代码,它的运行结果是?
#include <stdio.h>
int main(void)
{
int i = -1;
if(i = 0)
printf("i = %d\n",i);
else if(i = 1)
printf("i = %d\n",i);
else
printf("i = %d\n",i);
return 0;
}
答案:i = 1
因为if(i = 0)判断为假,同时i赋值为0
if(i = 1)判断为真,同时i赋值为1