红联Linux门户
Linux帮助

程序报错,求指点

发布时间:2011-10-26 16:06:39来源:红联作者:专攻Linux/ARM
#include"stdio.h"
#include"stdlib.h"
#include"ctype.h"
struct co
{
int index;
char name[8];
char MTel[12];
char Tel[12];

};
int x;
int main()
{
struct co *p;
char ch;
printf("do you add a user ?Y/N\n");
ch=getchar();
if(ch=='Y'||ch=='Y')
{
p=(struct co *)malloc(sizeof(struct co));//动态分配一段存储空间
p->index=++x;
printf("User name:");
scanf("%s",p->name);
printf("MoveTel:");
scanf("%s",p->MTel);
printf("Tel:");
scanf("%s",p->Tel);
printf("intex:%d\nname:%s\nMoveTel:%s\nHomeTel:%s\n",p->index,p-name,p->MTel,p->Tel);

}
printf("page size=%d\n",getpagesize());//取得内存分类大小
}


报错信息
[yh1@lzf 3]$ gcc -o 3-10 3-10.c
3-10.c: 在函数‘main’中:
3-10.c:29:67: 错误:‘name’未声明(在此函数内第一次使用)
3-10.c:29:67: 附注:每个未声明的标识符在其出现的函数内只报告一次
文章评论

共有 3 条评论

  1. hml1006 于 2011-10-31 09:53:01发表:

    if(ch=='Y'||ch=='Y') <--------------------

  2. 专攻Linux/ARM 于 2011-10-28 22:10:23发表:

    2# lijiang


    汗!谢谢

  3. lijiang 于 2011-10-27 21:56:36发表:

    [i=s] 本帖最后由 lijiang 于 2011-10-28 20:17 编辑 [/i]

    实际报错说的挺清楚,你把p->name写成了p-name,编译器会错误的解释为指针变量p减去变量name。