怎么用**P来输入几个字符串而存在一个*array[]的数组里呢?
我本来是这样想的 可是不对
#include<stdio.h>
void main()
{
char *array[];
char **p;
int i;
for (i=0;i<3;i++)
{
p=array+i;
scanf("%s",p);
}
for (i=0;i<3;i++)
{
p=array+i;
printf("%s\n",*);
}
}
我指针学的还不好 还请大家告诉我怎么用!
[求助]**p的问题
怎么用**P来输入几个字符串而存在一个*array[]的数组里呢?
我本来是这样想的 可是不对
#include<stdio.h>
void main()
{
char *array[];
char **p;
int i;
for (i=0;i<3;i++)
{
p=array+i;
scanf("%s",p);
}
for (i=0;i<3;i++)
{
p=array+i;
printf("%s\n",*);
}
}
我指针学的还不好 还请大家告诉我怎么用!
我是这么做的,请多提意见!
#include<stdio.h>
#include<string.h>
void sort(char x[],char y[],char z[]);
void main()
{
char b[20],c[20],d[20];
char *a[20]={b,c,d};
gets(b);
gets(c);
gets(d);
char **p;
int i;
sort(b, c, d);
for (i=0;i<3;i++)
{
p=a+i;
printf("%s\n",*p);
}
}
void sort(char x[],char y[],char z[])
{
char array[20];
if (strcmp(x, y)>0)
{strcpy(array, x);strcpy(x, y);strcpy(y, array);}
if (strcmp(y, z)>0)
{strcpy(array, y);strcpy(y, z);strcpy(z, array);}
if (strcmp(x, z)>0)
{strcpy(array, x);strcpy(x, z);strcpy(z, array);}
}
我觉得aiyuheng做得比神vLinux飘飘要好,因为scanf()读取的字符串不能包含空格、制表符。就是说如果你的字串里有空格的话,那读入的就不是一个完整的字串。
gets()的优点就是直至回车的字符串都将读取(不包含回车)。