size_t引起的问题
来源:互联网 发布:阿里云上线视频云剪辑 编辑:程序博客网 时间:2024/04/27 23:13
#include <string.h>
int main(void)
{
char str[] = "hello";
if(-1 < strlen(str))
{
printf("I guess this line will be print./n");
}
elsle
{
printf("UH/n");
}
return 0;
}
上面的程序输出的是第一个printf还是第二个printf的内容呢?
先看看strlen的声明
size_t strlen( char *str );
对!问题就出在size_t上面,一般而言size_t被typedef为一个无符号数。可以通过查看stddef.h来查看size_t的定义。
通过上面的分析应该很容易看出上面的程序输出的是第二个printf的内容。
int main(void)
{
char str[] = "hello";
if(-1 < strlen(str))
{
printf("I guess this line will be print./n");
}
elsle
{
printf("UH/n");
}
return 0;
}
上面的程序输出的是第一个printf还是第二个printf的内容呢?
先看看strlen的声明
size_t strlen( char *str );
对!问题就出在size_t上面,一般而言size_t被typedef为一个无符号数。可以通过查看stddef.h来查看size_t的定义。
通过上面的分析应该很容易看出上面的程序输出的是第二个printf的内容。
- size_t引起的问题
- strlen返回值为size_t引起的bug
- 记一次bug——size_t x64引起的
- 编码中关于size_t的一个问题
- scanf()引起的问题
- BuildPath引起的问题
- fork引起的问题
- tcp_timestamps 引起的问题
- 硬件加速引起的问题
- __packed引起的问题
- samba引起的问题
- submit引起的问题
- session引起的问题
- ThreadLocal引起的问题
- size_t的使用中出现的vector溢出问题
- 关于int8_t int64_t size_t ssize_t的相关问题
- 由于网速引起的问题
- onchanged事件引起的问题
- Windows使用技巧
- C#中类的声明
- 关于全局对象的作用
- 【转】生命是一个长期而持续的积累过程
- 汇编语言学习笔记(四)
- size_t引起的问题
- 32位CPU所含有的寄存器及32位指令
- 计算机辅助药物设计的基本原理是什么
- 关于权限管理方案的思考
- 硬盘安装CentOS 5.2
- GCC的__attribute__扩展功能
- Delphi编写星光效果
- 药物设计常用方法分子对接方法
- 设置环境变量