标题:新手的不明白,求爱心人士帮忙
只看楼主
q510578
Rank: 2
等 级:论坛游民
帖 子:86
专家分:30
注 册:2012-2-29
结帖率:92.31%
已结贴  问题点数:20 回复次数:4 
新手的不明白,求爱心人士帮忙
1.#include<stdio.h>
 int max_int(int ,int );              //这里为什么不能用int max_int()//
 int main()
 {
    int i,j,k,n;
    printf("please input 4 integers:\n");
    scanf("%d %d %d %d",&i,&j,&k,&n);
    i=max_int(i,j);
      i=max_int(i,k);
    i=max_int(i,n);
    printf("The max is %d\n",i);
    return 0;
 }
 int max_int(int a ,int b)        //   对照上面 int max_int()   //
 {                               //     int a,b;            //
      if(a>b)                      //     if(a>b)          //
        return a;             //       return a;   //
    else                           //  else           //
        return b;                //    return b; //
}

2.在循环语句中:用i++与++i有去啥不一样?
3.数组中int a[8] ; scanf("%d",&a[i]),为什么是a[i],而不是a[8]呢?
搜索更多相关主题的帖子: include max please return 
2012-03-23 13:51
鹰派程序员
Rank: 2
等 级:论坛游民
帖 子:36
专家分:85
注 册:2012-2-3
得分:10 
第一,c语言对于函数的声明时,要写出“函数的返回类型、函数名、以及形参表”,而对于形参表声明时可以只写出形参类型,而不必写出名称,这是规定;但是注意在定义你的函数时,形参名称就必须得写了!!!
第二,在循环语句中,++i和i++区别不大,但是其本身含义是有区别的:++i表示先将i加1在使用i,而i++是先使用当前i值在将i加1;
    比如:
    int a=0,i=0;a=++i;这条语句的含义是:先将i加1为2,再将i赋值给a,此时a值为2.
    int a=0,i=0;a=i++;这条语句的含义是:先将i的当前值0赋值给a,此时a值为0,再将i值加一。也可说a=i++等价于a=i;i++;
第三,对于数组而言,一般要用到for循环比如:
    int a[8]={1,2,3,4,5,6,7,8};   
    for(int i=0;i<8;i++)   //此处的i用来表示每个数在数组中的存储位置,比如:1的存储位置是0(数组位置规定从0开始,与现实世界不太一样)    {
   {
        printf("%d\n",&a[i]);
    }
2012-03-23 14:06
awodefeng
Rank: 1
等 级:新手上路
帖 子:9
专家分:5
注 册:2012-3-22
得分:3 
回复 2楼 鹰派程序员
请教下指针怎么赋值
2012-03-23 15:15
天仲子
Rank: 2
等 级:论坛游民
帖 子:49
专家分:49
注 册:2012-1-3
得分:3 
指针的赋值,简单点来说就是把变量的地址存到另一个变量(即指针变量)里,通过调用指针变量从而得到原变量的地址,进而得到原变量的值;
举个例子:
int*i=&a;就是把变量a的地址存放到指针变量i中。
在具体的话可以去看看谭浩强的书。
2012-03-23 19:14
鹰派程序员
Rank: 2
等 级:论坛游民
帖 子:36
专家分:85
注 册:2012-2-3
得分:4 
回复 3楼 awodefeng
额。。sorry,一直在线但才看到
指针赋值不同于一般变量赋值,它赋值的是一个对象的存储地址,而不是对象
例如:(1)int x=3;int y=4(2)int *p1=&x;int *p2=&y;(3)p1=p2;
&是取地址符,指针p1指向了x的存储地址,y同理!
(3)中是把指针p2赋给指针p1,执行完这个语句后,p1该指向y的存储地址,和p2一样了。这种操作就叫指针赋值!
还有就是通过指针改变它所指对象的值,比如:将y值赋给x,一般写法为:x=y;用指针写就是:(4)*p1=*p2
注意:(2)中的星号的含义是代表p1是指针,p2也是指针。而(4)中的星号的含义是解引用操作符,用来提取指针所指对象的内容。


其实你问的这些问题都比较基础,我建议你自己通过看书可能比这样的效果好。指针的部分一直是学c的人的头疼的地方,所以你不明白也很正常,如果想学好指针,一定要自己多看书。好好领会!!!
2012-03-23 19:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-364097-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021552 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved