本帖最后由 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") ;
}
}
|