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()获取字符串的长度