几个基础的小程序
来源:互联网 发布:雪梨淘宝店衣服质量 编辑:程序博客网 时间:2024/05/16 15:53
例1:
#include<stdio.h>
int main()
{
unsigned int a=-4;
printf("%u",a);
}
运行结果:4294967292
要点:运行结果为2^32-4,“%u”为无符号占位符。
例2:
#include<stdio.h>
int main()
{
unsigned int a=-10;
int b=6;
printf("%u",a+b);
}
运行结果:4294967292
要点:运行结果为2^32-4,若将“%u”换为"%d",则运行结果为-4,“%d”为有符号占位符。
例3:
#include<stdio.h>
int main()
{
int a=-2;
unsigned int b=1;
if((a+b)>0)
printf("1\t");
else
printf("0\t");
printf("%d\t",a+b);
printf("%u",a+b);
}
运行结果:1 -1 4294967295
要点:(1)unsigned int 与int相比精度更高,运算时转换为高精度的,故-2转换为2^32-2,则a+b>0,所以运算结果为1
(2)“%d”为有符号运算符,a+b=-2+1=-1,即打印出-1
(3)“%u”为无符号运算符,a+b=-1,结果为2^32-1=4294967295
例4:
#include<stdio.h>
#include<string.h>
int main()
{
char a[1000];
int i;
for(i=0;i<1000;i++)
{
a[i]=-1-i;
}
printf("%d\n",strlen(a));
printf("%d\n",a[i]);
printf("%d\n",i);
}
运行结果:255
-24
1000
要点:(1)char的表示范围(0,255),超出这个范围即溢出,故a的字长为255
(2)虽说溢出,但i的计算继续,直到1000停止,故i运行结果为1000
例5:
#include<stdio.h>
int main()
{
int a,b;
scanf("%d,%d",&a,&b);
printf("%d",a+b);
}
运行结果:34(自己输入)
是不确定的数值
3,4
7
要点:(1)若将scanf中的内容换为("%d\n%d",&a,&b),则运行结果为:3
4
7
(2)scanf与printf同为#include<stdio.h>的库函数,由上述操作可得,scanf为严格按照格式的库函数
例6:
#include<stdio.h>
int main()
{
int a=0;
if(a=1)
printf("=0\n");
else
printf("idiot");
}
运行结果:=0
要点:(1)if中的a=1,“=”为赋值运算符,此时a必定为1,无论开始int a=何值,都会输出“=0”
(2)正确应为if(a==1),运行结果为idiot
(3)推荐改为if(1==a),运行结果为idiot,若少打了一个等号,程序会出错,容易查错
- 几个基础的小程序
- io的几个小程序
- Python的几个小程序
- 几个有意思的小程序
- scala的几个小程序
- java的几个有意思的小程序
- 初学C的几个小程序之一
- 合并字符串的几个小程序
- 几个常见的“算法”小程序
- 这几天写的几个小程序
- 程序中用到的几个小技巧
- 几个c 的小程序记录
- JAVA程序的几个小经验
- 初识PLSQL,几个简单的小程序
- java几个容易出错的小程序
- 几个简单适合小程序的Makefile
- Python的几个文件操作小程序
- 有关static的几个小程序
- JDK的安装与环境变量的配置
- http-超文本传输协议之apache
- 再次使用construct 2制作游戏!
- mr refuse connection error
- 二分查找(非递归)
- 几个基础的小程序
- 最长回文
- hdu 5685 Problem A (逆元)
- 如何禁止极速版迅雷thunderplatform.exe启动
- 登录注册那些事儿(二)
- 六数码 关于EOF
- 顺序表
- Error:Could not run build action using Gradle installation解决办法
- Online Hard Example Mining