4.1 前导程序

与前两章一样,本章以一个简单的程序开始。程序清单4.1与用户进行简单的交互。为了使程序的形式灵活多样,代码使用了新的注释风格。
程序清单 **4.1 backtalk.c程序** 
//talkback.c--演示与用户交互
#include <stido.h>
#include <string.h>    //提供strlen()函数的原型
#DEFINE DENSITY 62.4    //人体的密度(磅/立方英尺)
int main()
{
    float weight,volume;
    int size,letters;
    char name[40];    //name是一个可容纳40个字符的数组
    printf("Hi what's your first name?/n");
    scanf("%s",name);
    printf("%s,What's your weight in pounds?\n",name);
    scanf("%f", &weight);
    size = size of name;
    letters= strlen(name);
    volume = weight/DENSITY;
    printf("Well,%s,your volume is %2.2f cubic feet.\n",name,volume);
    printf("Also,your first name has %d letters,\n",letters);
    printf("and we have %d bytes to store it.\n",size);
    return 0;
}

该程序包括以下新特性。

  • 用数组(array)存储字符串(character string),在该程序中用户输入的名被存储在数组中,该数组占用内存中连续的40个字节,每个字节存储一个字符值。
  • 使用%s转换说明来处理字符串的输入和输出。注意,在scanf()中name没有&前缀,而weight前有(稍后解释,&weight和name都是地址)。
  • 用C预处理器把字符常量DENSITY定义为62.4
  • 用C函数strlen()获取字符串的长度