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是否可以去掉的主要内容,如果未能解决你的问题,请参考以下文章