| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 302 人关注过本帖
标题:有关指针的问题 求教TT
只看楼主 加入收藏
klient
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-6-10
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
有关指针的问题 求教TT

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

typedef struct Student
{
    char Num[10];
    char Name[20];
    char Code[10];
    char Class[20];
    char Sex[10];
}STUDENT;


int Registerstudent(STUDENT temp[],int *n,int t,char *p)             /*登录函数*/  //*p为学生个数 t为sel *q为学号
{   
    int i,k=1;
    char num[3];
    char code[6],code1[6],Class[20],name[20],sex[5];
   

       if(t==1)
    {  
        do
        {
        stringinput(num,10,"请输入4位学号:");
        stringinput(code,6,"请输入6位密码:");
        stringinput(code1,6,"请再次输入6位密码:");
        if(strcmp(code,code1)==0)
        {
             k=0;
             stringinput(name,20,"请输入名字:");
             stringinput(Class,10,"请输入班级(xx级xxxxx班):");
             stringinput(sex,10,"请输入性别:");
             strcpy(temp[*n].Name,name);
             strcpy(temp[*n].Class,Class);
             strcpy(temp[*n].Sex,sex);
              strcpy(temp[*n].Num,num);
                strcpy(temp[*n].Code,code);

             SaveStudent(temp,*n);
             (*n)++;
             p=num;                   假如num={'62'}  这里的p是等于62用printf 打印也是62
             return 1 ;
        }
        else
        system("cls");
        printf("请重新输入\n");   
        }while(k);
    }
       else if(t==2)
    {
         stringinput(num,10,"请输入账号:");
         stringinput(code,6,"请输入密码:");
         p=num;   假如num={'62'}  这里的p是等于62用printf 打印也是62

         
         for(i=0;i<*n;i++)
        {
            if(strcmp(temp[i].Num,num)==0)
            {
                if(strcmp(temp[i].Code,code)==0)
                 return 1 ;
            }
        }
        if(i>=*n)    return -1;
    }

}

main(){
OBJECT Tclass[100];
    STUDENT student[1000];
    TEACHER teacher[10];
    FILE *fp,*fp1,*fp2;
    int select,people;
    char ch,xh[3];
    char *p;  // xh=学号
    int countC=0,countS=0,sel,k=0,j,m;
    int *ps=&countS; //ps=学生个数
    p=xh;
j=Registerstudent(student,ps,sel,p);                    
 printf("%s",p);                        可是这里打印出来的p不是62 而是乱码 怎么回事啊 求教              
}


搜索更多相关主题的帖子: include 
2012-06-10 18:31
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:0 
传值和传地址的问题,好好看看书上怎么说的。
2012-06-10 18:42
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:0 
给你个例子,你好好看看:
程序代码:
void getmemory(char *s)
{
    s = (char *)malloc(20);
}

void main()
{
    char *p;
    char *str = "Hello,world";
    getmemory(p);
    strcpy(p,str);
    printf("%s\n",p);
    free(p);
}


你看看错在哪。
2012-06-10 18:58
klient
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-6-10
收藏
得分:0 
回复 2楼 demonleer
可以说详细点吗请问
2012-06-10 19:02
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:0 
短信给你发过去了,不知道你能不能理解,多看看多想想就好了,加油哦。
2012-06-10 19:04
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:20 
想要return的话,你把函数定义成

char *yourfunction(char *s)
{
    //your operation
    return s;
}
2012-06-10 20:19
快速回复:有关指针的问题 求教TT
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017259 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved