快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

c语言宏函数返回值 c++宏函数

C语言函数返回值什么意思

返回值的意思是将函数实现的结果返回给调用者。

成都创新互联长期为超过千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为吉安企业提供专业的成都做网站、成都网站制作,吉安网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

按标准来说,C的main函数是需要有返回值的。标准中main函数返回类型是int的,所以需要一个返回值。但是由于历史原因,很多地方可以看到没有返回值的main。

比如直接main()或者说void main() 但是这样一般编译器也不会认为错误,不过建议还是写标准的C的main函数,最好有一个返回值,0表示正常退出。

扩展资料:

常用库函数有:

scanf格式输入函数

printf格式输出函数

systemdos命令函数

sort排序

main主函数

fgets文件读取字符串函数

fputs文件写入字符串函数

c语言宏定义的 错误返回值 如何保存到数组buf[100]中

程序代码: #include stdio.h #include string.h //包含memset函数 #include stdlib.h //包含double atof(const char *nptr); #define MAX_LEN 260 #ifndef _MSC_VER #define bool int #d

C语言-函数式宏

函数式宏(function-like macro)较之对象式宏可以进行更复杂的代换。

函数式宏 sqr 是在编译时展开并填入程序的,因此 只要是能用双目运算符 * 进行乘法计算的数据类型,都能使用函数式宏 。

函数定义则需为每个形参都定义各自的数据类型,返回值的类型也只能为一种。就这点而言,函数较为严格。

函数为我们默默无闻地进行了一些复杂处理,如:

而函数式宏所做的工作只是宏展开和填入程序,并不进行上述处理。

根据以上特征, 函数式宏或许能使程序的运行速度稍微提高一点,但是程序自身却有可能变得臃肿 。

函数式宏在使用上必须小心谨慎。例如, sqr(a++) 展开后 ((a++) * (a++)) 。每次展开, a 的值都会自增两次。在不经意间表达式被执行了两次,导致程序出现预料之外的结果,我们称这种情况为宏的 副作用(side effect) 。

c语言中函数返回值的问题

注意两个【规则】:

一、不要省略返回值的类型。如果函数没有返回值,应生明为void类型。

二、函数名字与返回值类型在语义上不可冲突。

eg:char c;

c=getchar();

if(c==EOF)

..................

此处getchar()是一个函数,它的返回值类型却不是char,而是int类型。起函数原型是:

int getchar(void);由于c是char类型,取值范围是【-128,,127】,万一宏EOF的值在char的 取值范围之外,那么if语句将总是失败。

【建议】

不要将正常值和错误标志混在一起返回。建议正常值用输出参数获得,而错误标志用return语句返回。

两个【提示】:

一、有时候函数原本不需要返回值,但为了增加灵活性如支持链式表达,可以附加返回值。

例如字符串拷贝函数strcpy的原型:char *strcpy(char *strDest,const *strSrc);

strcpy 函数将strSrc拷贝至输出参数strDest中,同时函数的返回值又是strDest。这样做并非多此一举。这样做并非多此一举,可以获得如下灵活性:

char str[20];

int length = strlen(strcpy(str,"hello world"));

但是注意不要将返回指针的函数作为左值,例如:

double* func(double* p)

{

return p;

}

double d = 100;

*func(d)=200;

二、如果函数的返回值是一个对象,有些场合用“返回引用”替换“返回对象值”,这样可以提高效率,而且还可以支持链式表达。而有些场合只能用“返回对象值”而不能用“返回引用”,否则会出错。

楼主顺便给你推荐两本书:高质量c/c++编程和c语言深度剖析。

c语言通过宏定义来返回一个数字的绝对值,可是当我的参数是这种情况时却不能得到正确的结果,麻烦高手指

scanf对流的操作遵从类型匹配操作原则

你这边输入“1-5”,scanf只匹配到“1”,就输出结果了

你可以试下,输入“100-5”“2-5”

你会发现,只都是“-”前面的


新闻标题:c语言宏函数返回值 c++宏函数
网站网址:http://6mz.cn/article/docepio.html

其他资讯