重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
void inputdata(int *a) { int i,j;
创新互联建站服务项目包括前进网站建设、前进网站制作、前进网页制作以及前进网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,前进网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到前进省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
for ( i=0;i3;i++ ) for ( j=0;j4;j++,a++ ) scanf("%d",a);
}
void outputdata(int *a) { int i,j;
for ( i=0;i3;i++,printf("\n") ) for ( j=0;j4;j++,a++ ) printf("%d ",*a);
}
看来楼主没有理解指针必须要初始化这一定律啊。
char
*str;
str="l
love
china";
指针
str
是指向字符的,也就是指向了一个地址
赋值为str="l
love
china"
这里指针str的值也就是字符串
"l
love
china"
的首地址
而输出的时候puts(str);
puts中的参数当然也是首地址了,如果puts的参数是字符数组,那实际上也是地址,因为数组的名字就是数组第一个元素的地址。当地址是字符串的地址时,指针会自动下移一个位置。直到遇到'\0'为止
而下面这个
char
*str;
scanf("%s",str);
指针没有初始化,所以是不对滴。
其实在C语言中想要动态输入字符串(也就是不浪费空间,还是很麻烦的),直到怎么回事就行,不必太纠结这个问题
1
#includeiostream
using namespace;
void main()
{
int a=0,b=0;
int *s=a;int *p=b;
cout“please the two numbers”;
cina;
cinb;
int fun(int *a,int *b)
{
if(*a==*b)
{
cout"different\n";return 1;
else cout"same\n"; return 0;
}
fun(s,p);
}
includeiostream
using namespace std;
void main()
{
int a[10]={0};
int i=0,j=0,k=0,p=0,m=0;
int *x=a;int *n=a;
for(;i=9;++i)
{
cout"input the "i+1"number(s)";
cina[i];
}
int fun(int *a)
{
for(;*x!=null;++x)
for(;m=9;++m)
{
if(*xa[m]) break;
n=x;
}
cout"the max is"*n;
}
第四行的指针变量P是不可以输入的,是由系统分配的。而在第11行的指针就是P在和数组的指针比较,但我认为这样写不好,你可以定int变量来控制循环的次数,这样就不用指针变量了。