|
发表于 2020-12-19 17:53:10
|
显示全部楼层
本楼为最佳答案
本帖最后由 jackz007 于 2020-12-19 18:14 编辑
- char s[24] ;
- fgets(s , 24 , stdin) ;
- s[strlen(s) - 1] = '\0' ;
- if(strlen(s)) {
- <s 非空>
- } else {
- <s 为空>
- }
复制代码
楼主的代码我给做了修改,谨供楼主参考
- #include <stdio.h>
- #include <string.h>
- #define N 3
- struct address
- {
- char Name[24] ;
- unsigned long long Tele ;
- } ;
- int main(void)
- {
- struct address a[N] ;
- int f , i , j , k ;
- char s[24] ;
- for(i = 0 ; i < N ;) {
- printf("输入姓名 : ") ;
- fflush(stdin) ;
- fgets(a[i] . Name , 24 , stdin) ;
- a[i] . Name[strlen(a[i] . Name) - 1] = '\0' ;
- if(strlen(a[i] . Name)) {
- printf("输入号码 : ") ;
- scanf("%I64u" , & a[i] . Tele) ;
- i ++ ;
- } else {
- for(j = 0 ; j < i ; j ++) {
- printf("%s , %I64u\n" , a[j] . Name , a[j] . Tele) ;
- }
- }
- }
- printf("请输入要查询的姓名:") ;
- fflush(stdin) ;
- fgets(s , 24 , stdin) ;
- s[strlen(s) - 1] = '\0' ;
- if(strlen(s)) {
- printf("查询结果为:\n") ;
- for(f = i = 0 ; i < N ; i ++) {
- if(! strcmp(s , a[i] . Name)) {
- printf("%s , %I64u\n" , a[i] . Name , a[i] . Tele) ;
- f = 1 ;
- break ;
- }
- }
- if(! f) printf("没有找到相关记录。\n") ;
- }
- }
复制代码 |
|