《指针的编程艺术(第二版)》一1.5 练习

本节书摘来自异步社区《指针的编程艺术(第二版)》一书中的第1章,第1.5节,作者 蔡明志,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.5 练习

指针的编程艺术(第二版)
1.以下是Linda所撰写的程序,请你帮她debug一下。

/* addressBugs5.c*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
  double x, y, average;
  printf("请输入浮点数x与y: ");
  scanf("%lf %lf", x, y);
  average = (x+y)/2;
  printf("x与y的平均数为: %\n", &average);
  system("PAUSE");
  return 0;
}

2.以下是Jennifer所写的程序,请你帮她debug一下。

/* addressArrayBugs5.c */
#include <stdio.h>
#include <conio.h>
int main()
{
  int x[5];
  int i;

  for(i=0; i<5; i++)
  {
    printf("请输入x[%d]的整数值: ", i);
    scanf("%d", &(x+i));
  }    
  for(i=0; i<5; i++)
    printf("x[%d] = %d\n", i, x[i]);  
  printf("\n");
  getch();
  return 0;
}

3.以下是Amy写的程序,请你帮她Debug一下。

/* addressStructBugs.c */
#include <stdio.h>
#include <stdlib.h>
int main( )
{
  /* 声明结构变量 */
  struct employee
  {  
    char id[7];         /* ID号码 */
    char name[20];      /* 员工姓名 */
    int salary;         /* 所得薪资 */
  };
  /* 定义结构变量,并设定其初值 */
  struct employee manager = {"D12345", "Peter", 35000};
   
  /* 输出结构变量的内存地址 */  
  printf("&manager= %x\n", &manager);
  printf("manager.id= %x\n", manager.id);
  printf("manager.name= %x\n", manager.name);
  printf("&manager.salary= %x\n\n", &manager.salary);
  
  /* 输出结构变量的值 */
  printf("manager.id= %s\n", id);
  printf("manager.name= %s\n", name);  
  printf("manager.salary= %d\n\n", salary);
  system("PAUSE");
  return 0;
}
上一篇:Hibernate之加载策略(延迟加载与即时加载)和抓取策略(fetch)


下一篇:《指针的编程艺术(第二版)》一1.2 一维数组