c语言return是否可以去掉

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言return是否可以去掉相关的知识,希望对你有一定的参考价值。

每次使用return语句后,即使把return去掉,程序还是能正常运行。

要看你的函数类型了,如果函数是void的,则去掉return是没有什么问题的,但是函数确实带返回值的,去掉return后编译会不过。
另外在函数中间用return的目的是跳出函数执行,如果去掉return函数会继续执行,这个要看你程序的具体内容了。
希望对你有用。
参考技术A void 型 函数, 不需要 return 语句。
一般函数,有返回值的,必须有return 语句。

主函数 main() 或 主函数 int main() 需要有 return 语句。
void main() 需要有 exit 语句。
程序比较小的,主函数里 的 return 语句 去掉,通常没有问题,没有副作用。
程序比较大时,主函数里 漏写 return 语句,程序会出 运行时错误。
所以,最好还是 按语法规则,该写 return 语句 的,不要省去。何况 写个 return 0; 不费什么事。本回答被提问者采纳
参考技术B C/C++中return用于函数的返回,主要用于返回一个数据,或者在函数运行的某个位置直接跳出后续的程序而直接返回函数,此时主要用于改变函数的执行顺序。
在函数最后,如果该函数没有返回值,则不需要显式的调用return,因为编译器会自动为你完成这个工作。如果需要范围数值,则必须显式的调用return(x),否则编译器不知道你需要范围的值是什么,部分编译器会直接警告或报错。
参考技术C return语句在子函数中有作用,当调用子函数需要子函数完成功能并希望从子函数中返回一个值时,return语句是必须的,如果不需要return语句的函数请声明为void型即可,如果不是void类型返回值的函数,请写上return 语句,这是一种良好的编程规范。 参考技术D 一开始写的程序都是比较简单的,检测错误很简单,当以后写大的程序时return的返回值就显得至关重要,你需要根据他来确定函数是否正常工作,所以养成好习惯是非常重要的。。。。

C语言判断汉字

if(is_zh_ch(char p)!=0)
int is_zh_ch(char p)


if(~(p >> 8) == 0)

return 0;


return -1;

帮我解释下那个函数的实现 怎么回事情 要详细!

#include<stdio.h>

intmain()

inti;

unsignedchars[200];

scanf("%s",s);

for(i=0;s[i];i++)

if(s[i]>127)

printf("汉字");

i++;

elseprintf("字母");

return0;

扩展资料

C++利用汉字的ASCII编码小于0的特性判断汉字

//coding:utf-8

#include"stdio.h"

intmain()

constchar*str="ENG汉字测试ddd";

for(inti=0;str[i]!='\\0';i++)

charch=str[i];

if(ch<0)

printf("Y");

i=i+2;

else

printf("N");

//Output:NNNYYYYNNN

return0;

参考技术A 和文字表示方法有关。西文字符一个字节(char)就可以表示(ASCII码中包括了所有的西文字符),因为一个char只有8位,最多表示256个文字,因此而非西文字符的文字(UNICODE)全部用两个字节表示,机器内部的最小存储单位是字节,为了区分连续的两个char表示的是一个UNICODE还是两个西文字母,规定UNICODE码的两个字节的最高位都是1。
if(~(p >> 8) == 0) return 0;的意思是,将char p的符号位(char为8位,即最高位)右移,若是UNICODE则p>>8后为1111 1111,然后按位取反为0

其实原理上面说过了,UNICODE码最高位为1,即符号位为1,上面的代码和下面的等价:
int is_zh_ch(char p)

if(p<0) return 0;
return -1;
参考技术B   判断输入的是中文还是英文很简单:
1、首先,要确认数据类型是字符型。
2、英文或一些特殊字符的ASCII码小于0x7f。
3、中文是以区位码形式出现的,ASCII码大于0xa0。
比如:
#include <stdio.h>
#include<string.h>
int main()

char* ss="hello世界";
int i;
while(*str)

if((unsigned)*str>=161) str+=2;i++;
else str++;

printf("Chinese char number is:%d\n",i);
return 0;
参考技术C p是ASCII码表示的啊,而英文的高8位全是0,汉字的高8位不为0,所以用>>右移判断 参考技术D for(i=0;i<l;i++)

if(s[i]<0)

o++

以上是关于c语言return是否可以去掉的主要内容,如果未能解决你的问题,请参考以下文章

C语言中,怎样判断一个数组中是不是有重复元素呢?最好用程序实现

C语言编程中怎么自动去掉浮点数小数点后没用的0。

C语言,怎么判定,是否数字?

C语言 break return 问题

在c语言中,怎样去掉文件后缀名?

关于c语言判断电话号码合法问题