1 #include<stdio.h> 2 int imin(int ,int ); 3 int main() 4 { 5 int evil1,evil2; 6 while(scanf("%d %d",&evil1,&evil2)==2) //注意 第二个%d后面不能有空格,大概这就是scanf的用法吧???否则打印堵塞老是停在那儿 7 { 8 printf("The lesser of %d and %d is %d \n", 9 evil1,evil2,imin(evil1,evil2)); 10 11 printf("Enter another pair of integers(q to quit):\n"); 12 13 } 14 } 15 16 int imin(int n,int m) // 值传递 17 { 18 int min ; // 局部变量 19 if(n<m) 20 min=n; 21 else 22 min=m; 23 24 return min; 25 }
return 把 min的数值返回给了调用函数imin。
那么主函数里面的 imin(evil1,evil2) 也就是返回值 min ,也就是相当于 lesser=imin(n,m)
注意返回值不仅可以被赋值给一个变量,也可以用作表达式的一部分。
如: answer=2*imin(z,zstar)+25;
注意返回类型很重要,这里是 int
还可以用更加简洁的代码,求解返回值。
imin(int n ,int m)
{
return (n<m)? n:m ;
}
这里我们还没有尝试 返回指针。接下来我们来试一试指针。
原文:http://www.cnblogs.com/shengruxiahua/p/4885472.html