c语言读取unsigned int
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言读取unsigned int相关的知识,希望对你有一定的参考价值。
怎么保证读取到一个unsigned int
而如果你输入像-3这样的负数要报错
,怎么保证scanf("%u",&u)
确实读取的是一个无符号数,
就用你们那方法,我也就不用问 你
我是想问个比较周全的解决法子
基本上其他的输入也是这样,用宽的变量去读取输入,然后转成窄的,可以用宽的预先判断输入的合法性追问
如果我想读取unsigned long 怎么办
如果我想读取unsigned long long 怎么办
你也太小看内存这个东西了吧,简单的讲,所有的输入都是字符串,所有的内存都是连续的,懂了吧
追问哦,这也就是个折中的法子
没从本质上解决问题
我不管内存怎么样
我就是想确保输入的是junsigned,并且读取的unsigned的
不是说你输入一个-3什么的,转换出来是个xxxxx的大数
用装B一点的话说就是施主,您着相了,你现在用的捕获输入输出,也是别人给我们封装好的,你要想用的简单直接,也可以自己封装一个用,C的标准库里面有很多函数都是在理想状况下写的,我们需要对其进行二次封装才能安全使用
参考技术A 输入后判断一下就可以了吧。。例如
scanf("%d",&n);
if(n<0) 报错
这样
C语言中 unsigned int 取值范围是
整形(int)的取值范围是-32768到32767,无符合整形(unsigned int)取值范围是0到65535 参考技术A 0~42949672950x0~0xffff ffff
但是有的地方的unsigned int 只有16位,现在大部分的编程软件都是默认32位的 参考技术B 在 vc下是4字节
以上是关于c语言读取unsigned int的主要内容,如果未能解决你的问题,请参考以下文章