社区
C语言
帖子详情
C语言中关于变量申明和赋值的问题
无敌007
2013-06-19 11:59:01
源代码:
# include <stdio.h>
void main(void)
{
unsigned int x=-666;
printf("\nx=%d",x);
getchar();
}
在Dev-C++下运行的结果为:
x=-666
问题:申明x为一个unsigned int型变量,其最小值为0,但是赋值-666为何没有出错?
...全文
214
6
打赏
收藏
C语言中关于变量申明和赋值的问题
源代码: # include void main(void) { unsigned int x=-666; printf("\nx=%d",x); getchar(); } 在Dev-C++下运行的结果为: x=-666 问题:申明x为一个unsigned int型变量,其最小值为0,但是赋值-666为何没有出错?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Carl_CCC
2013-06-19
打赏
举报
回复
你打印的时候不要用 %d, 用 %u
你怎么了熊吉
2013-06-19
打赏
举报
回复
内存里没有正负之分,负数用的是补码,你给它赋值-666,它的补码就保存在unsigned int里了,但因为它是unsigned的,所以并不知道这是负数,而是视为一个很大的正数 关键在于你输出的时候,用的%d,这个是输出有符号整数的,所以会把这个很大的正数解读为-666的补码,输出的就是-666 你换成%u(输出无符号整数),输出的就是一个很大的正数了
rocktyt
2013-06-19
打赏
举报
回复
-666被编译器当成int,然后int隐式转为unsigned int
www_adintr_com
2013-06-19
打赏
举报
回复
没听说过自动转型么
无敌007
2013-06-19
打赏
举报
回复
感谢各位大大的回复,终于明白是什么意思了!
赵4老师
2013-06-19
打赏
举报
回复
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构…… 对学习编程者的忠告: 眼过千遍不如手过一遍! 书看千行不如手敲一行! 手敲千行不如单步一行! 单步源代码千行不如单步对应汇编一行! VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。 对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。 (Turbo C或Borland C用Turbo Debugger调试,Linux或Unix下用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。) 提醒: “学习用汇编语言写程序” 和 “VC调试(TC或BC用TD调试)时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。 (Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)” 不是一回事! 不要迷信书、考题、老师、回帖; 要迷信CPU、编译器、调试器、运行结果。 并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。 任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实! 有人说一套做一套,你相信他说的还是相信他做的? 其实严格来说这个世界上古往今来所有人都是说一套做一套,不是吗? 不要写连自己也预测不了结果的代码! 电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址; 人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……
jarch-jsf-2.23.5-javadoc.jar
jarch-jsf-2.23.5-javadoc.jar
毕设&课设:边缘智能分析系统.zip
经导师指导并认可通过的大作业设计项目源码,适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用。
ivs-jvm-1.5.27-javadoc.jar
ivs-jvm-1.5.27-javadoc.jar
哈尔滨工业大学威海网络空间安全专业课程设计项目-Diffie-Hellman密钥交换协议实现与
中
间人攻击模拟及PKI和PSK改进方案-通过C编程结合OpenSSL库实现基础.zip
tomcat哈尔滨工业大学威海网络空间安全专业课程设计项目_Diffie-Hellman密钥交换协议实现与
中
间人攻击模拟及PKI和PSK改进方案_通过C编程结合OpenSSL库实现基础.zip
springboot252基于Springboot和vue的餐饮管理系统的设计与实现+MySQL前后分离毕设项目.zip
本项目是基于Springboot和Vue的餐饮管理系统设计与实现,结合MySQL数据库,实现前后端分离架构的毕设项目。该项目旨在开发一款功能全面、操作便捷的餐饮管理系统,以满足餐饮企业对日常运营管理的需求。 项目主要功能包括:用户管理、菜品管理、订单管理、库存管理和财务报表等。在框架上,采用Springboot作为后端框架,提供RESTful API接口,Vue.js作为前端框架,负责页面交互和数据显示。MySQL数据库用于存储和管理餐饮数据。 通过该项目,可以实现对餐饮企业各项业务的信息化管理,提高运营效率。同时,前后端分离的设计模式,使得系统更具灵活性和可扩展性,便于后期维护和功能迭代。此外,该项目源码公开,可供学习和参考。毕设项目源码常年开发定制更新,以适应不断变化的市场需求和技术发展,希望对需要的同学有帮助。
C语言
70,025
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章