日期: 2022-09-21 05:43:09 浏览数:6

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
和田公众号代运营公司

include <stdio.h>
int main()
{
int a,b,c,max;
printf("请输入三个数字(空格分隔):");
scanf("%d%d%d",&a,&b,&c);
if(a==b==c)
max=a;
else if((a>b)&&(a>c))
max=a;
else if((b>a)&&(b>c))
max=b;
else if((c>a)&&(c>a))
max=c;
printf("max=%d",max);
return 0;
}
刘一米
刘一米
liu***1007@126.com
3年前 (2019-09-19)
罗小白
195***8404@qq.com
78
上面求3个数最大值的太复杂,这个更简洁:
#include <stdio.h>
float myMax(float a, float b, float c){
return a>=b ? (a>=c ? a : c) : (b>=c ? b : c);
}
int main() {
float x, y, z, maxValue;
printf("请输入任意三个数: ");
scanf("%f%f%f", &x,&y,&z);
maxValue = myMax(x, y, z);
printf("最大值为:%f ", maxValue);
return 0;
}
罗小白
罗小白
195***8404@qq.com
3年前 (2019-11-19)
hft
hou***ao@sjtu.edu.cn
19
“本质上说,C 里面所有的函数参数传递,都是值传递”,这一条,完全正确的代码如下:
#include<stdio.h>
void swap(int *x, int *y);
void swap(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int a = 5;
int b = 10;
swap(&a, &b);
printf("result of swap: a=%d, b=%d", a, b);
return 0;
}
hft
hft
hou***ao@sjtu.edu.cn
3年前 (2019-12-08)
Shepherd R.
191***9938@qq.com
20
函数名和参数列表一起构成了函数签名。意味着可以出现参数列表不同但是函数名相同的函数。比如说定义两个函数:
void print()
{
printf("hello world!");
}
void print(int nums)
{
printf("%d ",a);
}
这是合法的。
Shepherd R.
Shepherd R.
191***9938@qq.com
3年前 (2020-01-26)
lyonmu
muq***cloud@gmail.com
参考地址
21
可以用预处理命令 define 来定义简单函数:
#define MAX_3(a, b, c) ( ((a > b ? a : b) > c) ? (a > b ? a : b) : c )
#define MIN_3(a, b, c) ( ((a < b ? a : b) < c) ? (a < b ? a : b) : c )
#define MAX_2(x, y) ( x> y ? x : y )
#define MIN_2(x, y) ( x< y ? x : y )
#define ARR_SIZE(a) ( sizeof( (a) ) / sizeof( (a[0]) ) )
#define MULTIPLE(m, n) ( (m%n == 0)?0:1 )
#define AVE_3(a, b, c) (a+b+c)/3
#define SUM_3(a, b, c) a+b+c
#define SWAP(a, b){int t= a;a=b;b=t;}
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
占位符(%)是在C/C++语言中格式输入函数,如 scanf、printf 等函数中使用。其意义就是起到格式占位的意思,表示在该位置有输入或者输出。
实例:
scanf("%d,%d,%d",&a,&b,&c); // 从键盘输入三个整数,用逗号分隔 scanf("%c", &s); // 从键盘输入一个字符 scanf("%f", &f); // 从键盘输入一个浮点型数据 printf("%d ",a); // 输出一个整数 printf("%f ",b); // 输出一个浮点数 printf("%s ",c); // 输出一个字符, 其中 表示换行Helen
QQ9***13813@163.com
参考地址
%d, %i 代表整数
%f 浮点
%s 字符串
%c char
%p 指针
%fL 长log
%e 科学计数
%g 小数或科学计数。
%a,%A 读入一个浮点值(仅C99有效)。
%c 读入一个字符。
%d 读入十进制整数。
%i 读入十进制,八进制,十六进制整数。
%o 读入八进制整数。
%x,%X 读入十六进制整数。
%s 读入一个字符串,遇空格、制表符或换行符结束。
%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。
%p 读入一个指针。
%u 读入一个无符号十进制整数。
%n 至此已读入值的等价字符数。
%[] 扫描字符集合。
%% 读 % 符号
金刚大魔王
285***3993@qq.com
1、函数的调用:由于程序是从上向下执行,所以函数要先声明,后调用。这种先后是文档中所处位置的先后,不是时间的先后。以下写法为正确的:
#include<stdio.h>void f(void) /*定义函数*/{ printf("我是一个函数,我将在主函数中输出 ");}int main(void){ f(); /*调用函数*/}在上面这个实例中,在主函数中调用了函数 f(), 而函数的声明是在调用以前。
2、这种写法是错误的
#include<stdio.h>int main(void){ f();/*调用函数*/}void f(void) /*定义函数*/{ printf("我是一个函数,我将在主函数中输出 ");}在上面这个实例中,在主函数中调用了函数 f(), 而函数的声明却在调用之后。由于函数执行时是从上往下执行的所以,这写法是错误的。
如果函数非要写在主函数之后可以在主函数之前加入一个函数的前置声明。
前置声明如下:
#include<stdio.h>void f(void); /*前置声明*/int main(void) { f(); /*调用函数*/}void f(void) /*定义函数*/{ printf("我是一个函数,我一定要先声明后调用 ");}金刚大魔王
285***3993@qq.com
朝阳
120***3522@qq.com
本质上说,C 里面所有的函数参数传递,都是值传递。
指针传递之所以能改变传递参数变量的值,是因为 swap 函数交换的不是传递进来的指针本身,而是指针指向的值。
void swap(int *x, int *y);void swap(int *x, int *y){ int temp; //这里操作的是指针指向的值 而不是指针 temp = *x; *x = *y; *y = temp;// 倘若直接交换指针 a、b的值不会交换// temp = x;// x = y;// y = temp;}int main( int argc, char *argv[] ){ int a = 5; int b = 10; swap(&a, &b); //调用交换函数 printf("交换结果为 a = %d, b = %d ",a,b); return 0;}引用传递也类似。
朝阳
120***3522@qq.com
刘一米
liu***1007@126.com
上面那个3个数最大值的太复杂,我这个好理解些:
#include <stdio.h>int main(){ int a,b,c,max; printf("请输入三个数字(空格分隔):"); scanf("%d%d%d",&a,&b,&c); if(a==b==c) max=a; else if((a>b)&&(a>c)) max=a; else if((b>a)&&(b>c)) max=b; else if((c>a)&&(c>a)) max=c; printf("max=%d",max); return 0;}刘一米
liu***1007@126.com
罗小白
195***8404@qq.com
上面求3个数最大值的太复杂,这个更简洁