分类:
2011-05-20 18:33:43
原文地址:C_指针数组 作者:luozhiyong131
指针数组
#include
#include
int main()
{
int X[3][3] = {{1,2,3},{4,5,6},{7,8,9}};/*定义一个二维数组并初始化*/
//int X[3][3] = {1,2,3,4,5,6,7,8,9};
int *P[3] = {X[0],X[1],X[2]}; /*定义一个指针数组*/
int *ptr; /*定义一个指针变量*/
int **p; /*定义一个二级指针变量*/
int i;
ptr = P[0]; /*一级地址给指针变量ptr*/
for(i = 0; i < 3; i++)
printf("%d ",*ptr++); /*打印?*/
printf("\n----------\n");
p = P; /*二级地址给二级指针变量p*/
for(i = 0; i < 3; i++)
printf("%d ",**p++); /*打印?*/
printf("\n");
}
其他:1、.编写一函数,用于接收3-10之间的一个数,然后输出由星号组成的正方形。例如,用户输入4,输出结果应为如下所示
****
* *
* *
****
/***************************************************
文件名:
说 明:熟习函数的使用,完成打印正方形图形
Autor:Lzy
Time :2011-5-8
****************************************************/
#include
int init()
{
int n = 0;
while(n > 11 || n < 2) /*判断输入是否合法,否则重新输入*/
{
printf("输入正方形的长度(大于2小于11):");
scanf("%d",&n);
}
return n;
}
void fprint(int N)
{
int i, j;
for(i = 0; i < N; i++)
printf("*");
printf("\n");
for(i = 0; i < N-2; i++)
{
printf("*");
j = N - 2;
while(j--)
printf(" ");
printf("*\n");
}
for(i = 0; i < N; i++)
printf("*");
printf("\n");
}
int main()
{
int side;
side = init();
fprint(side);
}
2、编写一个函数,输入字符串内,如果是两个以上连续空格,则用一个空格代替
/******************************************
文件名:
说 明:continue的使用
Autor:Lzy
Time :2011-5-9
*******************************************/
#include
int main()
{
char c;
char flag = 0;
while((c = getchar()) != EOF)
{
if(flag == c)
if( c == ' ')
continue;
putchar(c);
flag = c;
}
}
3、写一个函数找出一个整数数组中,第二大的数
#include
#define N 5
int main()
{
int data[N] = {8,2,6,4,5};
int i,j;
int temp;
for(j = 0; j < N ; j++)
for(i = j; i < N-1 ; i++)
{
if(data[j] > data[i+1])
{
temp = data[j] ;
data[j] = data[i+1];
data[i+1] = temp;
}
}
printf("%d ",data[N-2]);
return 0;
}
——第二部分:Linux C