有关指针的问题 求教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 而是乱码 怎么回事啊 求教
}