4.1 前导程序
// talkback.c -- nosy, informative program
#include
#include
#define DENSITY 62.4 // human density in lbs per cu ft
int main()
{
float weight, volume;
int size, letters;
char name[40]; // name is an array of 40 chars
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 = sizeof 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()获取字符串的长度。