C语言库函数理解

来源:互联网 发布:法恩莎 智能马桶 知乎 编辑:程序博客网 时间:2024/05/17 22:44

1 函数名: scanf 
功  能: 执行格式化输入 
用  法: int scanf(char *format[,argument,...]); 
程序例: 


#include <stdio.h> 
#include <conio.h> 

int main(void) 

   char label[20]; 
   char name[20]; 
   int entries = 0; 
   int loop, age; 
   double salary; 

   struct Entry_struct 
   { 
      char  name[20]; 
      int   age; 
      float salary; 
   } entry[20]; 

/* Input a label as a string of characters restricting to 20 characters */ 
   printf("/n/nPlease enter a label for the chart: "); 
   scanf("%20s", label); 
   fflush(stdin);  /* flush the input stream in case of bad input */ 

/* Input number of entries as an integer */ 
   printf("How many entries will there be? (less than 20) "); 
   scanf("%d", &entries); 
   fflush(stdin);   /* flush the input stream in case of bad input */ 

/* input a name restricting input to only letters upper or lower case */ 
   for (loop=0;loop<entries;++loop) 
   { 
      printf("Entry %d/n", loop); 
      printf("  Name   : "); 
      scanf("%[A-Za-z]", entry[loop].name); 
      fflush(stdin);  /* flush the input stream in case of bad input */ 

/* input an age as an integer */ 
      printf("  Age    : "); 
      scanf("%d", &entry[loop].age); 
      fflush(stdin);  /* flush the input stream in case of bad input */ 

/* input a salary as a float */ 
      printf("  Salary : "); 
      scanf("%f", &entry[loop].salary); 
      fflush(stdin); /* flush the input stream in case of bad input */ 
   } 

/* Input a name, age and salary as a string, integer, and double */ 
   printf("/nPlease enter your name, age and salary/n"); 
   scanf("%20s %d %lf", name, &age, &salary); 
  

/* Print out the data that was input */ 
   printf("/n/nTable %s/n",label); 
   printf("Compiled by %s  age %d  $%15.2lf/n", name, age, salary); 
   printf("-----------------------------------------------------/n"); 
   for (loop=0;loop<entries;++loop) 
      printf("%4d | %-20s | %5d | %15.2lf/n", 
         loop + 1, 
  entry[loop].name, 
  entry[loop].age, 
         entry[loop].salary); 
   printf("-----------------------------------------------------/n"); 
   return 0;