A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

void ChaZhao(){  //这是一个查找结构体内相同姓名,然后输出姓名,电话号码的函数
    int j;
                char namep[20];                       //这地方这么定义可以使用,但是定义成 char *nemp 就不能使用,这是为什么?
                printf("请输入要查找的姓名:") ;
                scanf("%s",&namep);
                    for(j=0;j<totalShuLiang;j++){
                            if(strcmp(namep,contacts[j].Name)==0){
                            printf("NAME                      TEL                  \n");
                            printf("%s                        %s                   \n",contacts[j].Name,contacts[j].Num);
                            break;
           
                    }
        }
        }

4 个回复

倒序浏览
用数组可以接收用户键盘的输入,用指针就不行了,所以在这里要接收用户输入得用数组
回复 使用道具 举报
数组凸显出了它的特殊作用!
回复 使用道具 举报
一步步往上爬 发表于 2016-1-3 12:42
用数组可以接收用户键盘的输入,用指针就不行了,所以在这里要接收用户输入得用数组 ...

回答的有点意思,其实为什么char *p ="hello!" ,printf("%s",p);可以输出,其实也是利用了printf函数一直输出知道‘\0'的这个特点
回复 使用道具 举报
yfh349958021 发表于 2016-1-3 13:16
数组凸显出了它的特殊作用!

建议你去百度一下,char  *P  跟 char  aa[]的区别,主要是数据存储地方的因素决定了,而且 strcmp 函数如果用指针的话,一个是地址,一个是字符串无法进行比较,如果取值   *p  的话,那么也是取首地址的值,strcmp同样无法比较。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马