马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
一共两个代码 三个问题
#define _CRT_SECURE_NO_WARNINGS
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
typedef struct Teacher
{
int age;
int id;
char name[20];
}TEAC;
TEAC* createTeacher(int num)
{
TEAC* tmp = (TEAC*)malloc(sizeof(TEAC) * num);
if (tmp == NULL)
{
return NULL;
}
return tmp;
}
void main()
{
int num = 3;
TEAC* pArr = NULL; //问题1 :这里为啥要定义一个一级指针变量?用元素传递不行吗?
pArr = createTeacher(num);
system("pause");
}
#define _CRT_SECURE_NO_WARNINGS
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
//pArr指向buf[10]
void printArr(char(*pArr)[10], int num)//问题2 char(*pArr)[4] = buf,这句形参怎么理解 pArr指向buf[10]?
{ 问题3 char(*pArr)[5] 为啥[]中的数字 要和后面定义的数组长度相同,他们之间有什么联系吗?
int i;
for ( i = 0; i < 4; i++)
{
printf("%s\n", pArr[i]);
}
printf("\n");
}
void sortArr(char(*pArr)[10], int num)
{
int i;
int j;
char tmp[20];
for (i = 0; i < num; i++)
{
for (j = i + 1; j < num; j++);
{
if (strcmp(pArr[i], pArr[j]) < 0)
{
strcpy(tmp, pArr[i]);
strcpy(pArr[i], pArr[j]);
strcpy(pArr[j], tmp);
}
}
}
}
void main()
{
int num = 4;
char buf[4][10] = { "aaaaa","ccccc","bbbbb","11111" };
printf("排序之前\n");
printArr(buf, num);
sortArr(buf, num);
printf("排序之后\n");
printArr(buf, num);
system("pause");
}
|