栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言return的返回值问题(字符串)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言return的返回值问题(字符串)

文章目录

前

总结


前言

近日在完成作业时,发现了关于return返回字符的问题


话不多说,直接上超简单实例

#include 
char game()
{
	if (1)
		return "char";//“char”与“char [5]”的间接级别不同	
	return 'draw';// 从“int”到“char”截断	
}
int main()
{
	char tmp=game();
	return 0;
}

大家注意看,上面的间接级别不同,意思就是我们可以做到用字符数组来接受

但下面的截断(节多的数据类型赋给一个占字节少的变量类型,会发生“截断”。就是丢失数据的意思)

draw本身不是一个字符,它发生了截断会导致返回值可能只有最后一个字符,如果我们规规矩矩的返回单字符是没有问题的,也可以使用ASCII码

但是,上面双引号的字符串间接级别不同说明什么呢?


总结

msdn上:Strings in C are arrays of char elements, so we can’t really return a string - we must return a pointer to the first element of the string.

原来,C语言中的字符串本质上是char类型,我们接受的时候只能使用数组或者指针,不能直接接受

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1030243.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号