- 论坛徽章:
- 0
|
#include <stdio.h>
int ctr;
short array_s[10];
float array_f[10];
double array_d[10];
int main(void)
{
printf("\t\t Short\t\tFloat\t\tDouble");
printf("\n============================================================");
for(ctr=0; ctr < 10; ctr++)
printf("\n Element %d:\t%ld\t%ld\t%ld",ctr,&array_s[ctr],&array_f[ctr],&array_d[ctr]);
printf("\n============================================================\n");
printf("array_s[0]'s address is: %ld \t Vaule is:%d \n",array_s, *array_s);
printf("array_f[0]'s address is: %ld \t Vaule is:%d \n",array_f, *array_f);
printf("array_d[0]'s address is: %ld \t Vaule is:%d \n",array_d, *array_d);
printf("\n============================================================\n");
printf("array_s[0]=%d \t address is: %ld \n",*array_s, array_s);
printf("array_f[0]=%d \t address is: %ld \n",*array_f, array_f);
printf("array_d[0]=%d \t address is: %ld \n",*array_d, array_d);
printf("\n============================================================\n");
for(ctr=0; ctr<10; ctr++)
printf("array_f[%d]=%d \n",ctr,array_f+ctr);
return 0;
}
就如MMMIX 所说, 这个子程序的printf里面的参数的格式有问题, array_f和array_d对应的输出格式是%f, 而本程序用的是%d,所以在取的时候就会出现类型取地址出错的错误. 应该要对应起来的哦. |
|