今日学习任务 | 1. 指针与函数 2. 指针数组 3. 数组指针 4. 指针的指针 5. 命令行参数 |
今日任务完成情况 | 已完成 |
今日开发问题汇总 | 指针函数指针函数指针数组 |
今日未解决问题 | 无 |
今日开发收获 | 1.指针的指针中存的是指向的指针的地址,定义时应如:int **p 2.(*p)[4]是一个数组指针,指向含有4个元素的数组,p+1加16个字节 3.int *(*(*fp))(int)[10] 一个有10个元素的数组,每个元素都是一个整型指针 int *(*(*arry[5])())() |
自我评价 | 对c语言理解更深了 |
其他 | 无 |
课后作业1.字符串排序
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
# define SIZE 3
void sort(char *a[],int length)
{
int i,j;
char *t;
/for(i=0;i<length-1;i++)
{
for(j=0;j<length-i-1;j++)
{
if(strcmp(string[j],string[j+1])>0)
{
t=string[j];
string[j]=string[j+1];
string[j+1]=t;
}
}
}
}
int main(int argc,char*argv[])//加上
{
int i;
sort(argv,argc-1);
for(i=1;i<argc;i++)
{
printf("%s\n",argv[i]);
}
while(1);
return 0;
}
#include<string.h>
#include<stdlib.h>
# define SIZE 3
void sort(char *a[],int length)
{
int i,j;
char *t;
/for(i=0;i<length-1;i++)
{
for(j=0;j<length-i-1;j++)
{
if(strcmp(string[j],string[j+1])>0)
{
t=string[j];
string[j]=string[j+1];
string[j+1]=t;
}
}
}
}
int main(int argc,char*argv[])//加上
{
int i;
sort(argv,argc-1);
for(i=1;i<argc;i++)
{
printf("%s\n",argv[i]);
}
while(1);
return 0;
}
2.冒泡排序
#include <stdio.h>
void sort(int *a[],int argc)
{
int i, j, tmp;
for (i = 0; i < argc - 1; i++)
{
for (j = 0; j < argc - i - 1; j++)
{
if (a[j] < a[j + 1])
{
tmp = a[j];
a[j] = a[j + 1];
a[j + 1] = tmp;
}
}
}
}
void print(int *a[],int argc)
{
int i;
for (i = 1; i < argc; i++)
{
printf("%d ", a[i]);
}
printf("\n");
}
int main(int argc, int *argv[i])
{
sort(argv,argc);
print(argv,argc);
while (1);
return 0;
}