【c学习-7】
#include
/*#include"test31.c"*/
//定义阶乘函数
/*
int fac(int n){
//定义寄存器存储变量
register int i ,f=1;
//循环形参计数器计数阶乘表达式
for(i=0;i
extern varx;
int power(int n){
int i,y;
for(i=0;i
int main(){
int *a,b; //定义两个变量
printf("请输入a的值:\n");
scanf("%d",&b);
a=&b; //对变量b取地址赋值给指针a
printf("%p\n",a);
a++; //对指针只想自加运算
printf("%p\n",a);
}
/*指针*/
int main(){
//分别定义两个变量
long i, *p;
printf("请输入i的值:\n");
scanf("%ld",&i);
p=&i;
//以&*p和&i及*&p形式输出
printf("%l\nd%ld\n",&*p,&i);
printf("%ld\n%p\n",*&p,*p);
/*
int *a,b; //分别定义一个指针变量和一个变量
a=&b; //把指针变量赋值给变量
printf("请输入指针:\n");
scanf("%d",&a);
printf("请输入变量:\n");
//printf("指针的值是:%d\n,指向的内存地址是:%p\n",*p,j);
printf("%d\n",b);
*/
#include /*指针数组*/
int pointArray(){
//定义数组和指针变量
int *p ,*q,x[10],y[10],i;
//把数组变量的首地址赋值给指针变量
p=&x[0];
q=y;
//循环遍历输入
printf("请输入x数组内的元素:\n");
for(i=1;i<5;i++){
scanf("%d",p++);/*&x[i])*/;
}
printf("请输入y数组内的元素:\n");
for(i=1;i<5;i++){
scanf("%d",q++); /*&y[i])*/;
}
//循环遍历输出
p=x; //重新对指针赋值指向首地址
q=y;
printf("对数组x内元素输出:\n");
for(i=1;i<5;i++){ //对程序做优化
printf("x:%5d\n",*p++);/**(p+i))*/
}
printf("对数组y内元素输出:\n");
for(i=1;i<5;i++){
printf("y:%5d\n",*q++);/*(q+i))*/
}
}
int main(){
pointArray();
return 0;
}
#include
// 定义一个循环变量二维数组函数
void twoArray(){
//初始化指针和二维数组及计数器
int array[2][3],i,j ,*p; //优化
//嵌套循环对二维数组进行输入
printf("请输入数组内的元素:\n");
p=array[0];
for(i=0;i<2;i++){
for(j=0;j<3;j++){
scanf("%d",p++);/*&array[i]+j)*/
}
}
//对二维数组元素以指针形式输出
printf("对数组元素输出:\n");
p=array[0];
for(i=0;i<2;i++){
for(j=0;j<3;j++){
printf("%d\n",*p++);/**(array[i]+j))*/
}
}
}
//主函数调用
int main(){
twoArray();
}
#include
int main(){ /*字符指针*/
//定义指针变量和字符变量
char x[20]="hello world",y[30],*p,*q;
//赋数组初值给指针
p=x;
q=y; //复制指针
while(*p!='\0'){
*q=*p;
p++;
q++;
}
*q='\0';
printf("q的值是:\n");
puts(x);
}
#include
int main(){ /*字符数组*/
//定义字符组
char *x[]={
"Mon",
"Tues",
"Ther",
"Apri",
"Fri",
"sun"
};
//计数器
int i;
//循环遍历
for(i=0;i<6;i++){
printf("%s\n",x[i]);
}
}
#include
//定义交换函数
void swap(int *a, int *b){
int temp; //定义交换变量
temp=*a;
*a=*b;
*b=temp;
}
//定义一个根据大小来判断是否交换
void changeSwap(int *q,int *p,int *j ){
//指针大小条件判断
if(*q<*p){
swap(q,p);
}if(*q<*j){
swap(q,j);
} if(*p<*j){
swap(p,j);
}
}
int main(){
//定义指针变量和整性变量
int a,b,c,*p1,*p2,*p3;
printf("请输入a b c的值:\n");
scanf("%d%d%d",&a,&b,&c);
//指针取变量地址
p1=&a;
p2=&b;
p3=&c;
//调用changeSwap函数
changeSwap(p1,p2,p3);
printf("a:%d\nb:%d\nc:%d\n",a,b,c);
}
要保持着对知识的渴求,给自己充电,不要这荒废了短暂的时光;
posted on 2018-08-20 13:03 activecode 阅读(163) 评论(0) 编辑 收藏 举报