c语言中有关main的问题,c语言小问题
2008-03-13
while语句
void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
while (n--)
printf("%d ",a++*2);
}
do-while语句
void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
do printf("%d ",a++*2);
while (--n);
}
(为什么转换后,n--变成了--n)
自增运算符 ++ 使操作数的值增 1,其操作数必须为可变左值。++ 可以置于操作数前面,也可以放在后面。例如:
++n ;
n++ ;
这两个语句产生的结果都是使 n 增 1,可以说没什么区别。 使用以下语句得到的效果也是一样的:
n = n + 1 ;
尽管上面两个语句中,++ 前置和后置没有区别。但是,++ 前置和后置其实是有区别的。例如:
int n = 1, post, pre;
post = n++;
pre = ++n;
对于 post = n++; 这个语句,post 得到 n 自增前的值,因为 n++ 的值为 1。 也就是说,这个语句执行完后,post 的值是 1,而 ...全部
自增运算符 ++ 使操作数的值增 1,其操作数必须为可变左值。++ 可以置于操作数前面,也可以放在后面。例如:
++n ;
n++ ;
这两个语句产生的结果都是使 n 增 1,可以说没什么区别。
使用以下语句得到的效果也是一样的:
n = n + 1 ;
尽管上面两个语句中,++ 前置和后置没有区别。但是,++ 前置和后置其实是有区别的。例如:
int n = 1, post, pre;
post = n++;
pre = ++n;
对于 post = n++; 这个语句,post 得到 n 自增前的值,因为 n++ 的值为 1。
也就是说,这个语句执行完后,post 的值是 1,而 n 的值变成 2。而 pre = ++n; 这个语句,pre 得到 n 自增后的值,因为 ++n 的值为 3。也就是说,这个语句执行完后,pre 的值是 3,n 的值也是 3。
总之,无论前置还是后值,++ 都会使其操作数的值增 1。不同的是,++ 前置时,自增表达式(如 ++n)的值等于其操作数自增后的值;++ 后置时,自增表达式(如 n++)的值等于其操作数自增前的值。
例如:
int n = 5, post = 1, pre = 1;
pre = ++n + pre; // 运算结束后 pre 为 7,n 为 6
n = 5;
post = n++ + post; // 运算结束后 post 为 6,n 为 6
上例中,++n 的值等于 n 自增后的值,即 6,所以 pre 最后得到的值为 7。
n++ 的值等于 n 自增前的值,即 5,所以 post 最后得到的值为 6。
----------------------
搞清楚了么 这样的话
设n=3
while(n--)
{
}
2 1 [0]
do
{
}while(--n)
2 1 [0]
。收起
c语言中有关main的问题,c语言小问题相关推荐
- c语言中申请内存并初始化,c语言中结构体的定义、初始化及内存分配
#include struct person { char *name; int age; }; int main() { //结构体可以定义在函数内,也可以定义到函数外 //相当于全局变量与局部变量 ...
- c语言中字母的长度是,c语言字符串长度怎么算
本文收集整理关于c语言字符串长度怎么算的相关议题,使用内容导航快速到达. 内容导航: Q1:c语言计算字符串的长度(用指针) 12345678910111213141516171819#include ...
- c语言中未找到函数入口,C语言的入口函数不一定叫main
原标题:C语言的入口函数不一定叫main C语言的入口程序好像都被固定好了叫"main"但是不一定哦. 先写个程序:#include #include int main() { p ...
- 单片机c语言中的循环语句,单片机c语言教程:C51循环语句
循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...
- c语言中指针的类型,学习C语言中的指针类型
摘要:结合我院学生十年来参加全国计算机等级考试(C语言部分)情况,通过分析成绩分布与题型关系,我们发现指针方面的题型失分率最高.在此基础上结合教学实际,本文提出学习指针知识的方法和顺序过程,并将其应用 ...
- C语言中动态数组的作用,C语言实现动态数组
前言 在纯C语言编程中,数组的创建必须是固定的大小,因为C语言本身没有提供动态数组这种数据结构,这是一个让习惯了使用高级语言编程的人转做C开发面临的一个很头疼的问题,本篇文章就将介绍如何使用纯C语言编 ...
- c语言中预处理指令的作用,C语言中常用预处理指令
转载自 https://blog.csdn.net/farsight2009/article/details/58602886 姓名:张艳博 学号:17021223249 [嵌牛导读]: C语言中常用 ...
- A13在c语言中是合法变量吗,C语言中局部变量和全局变量等在内存中的存放位置.doc-资源下载在线文库www.lddoc.cn...
C语言中局部变量和全局变量_等在内存中的存放位置.doc C 语言中局部变量和全局变量 变量的存储类别static,extern,auto,register 8.8 局部变量和全局变量在讨论函数的形参 ...
- c语言 方程改main的值_C语言编程笔记丨编写第一个C语言程序hello world,我教你哇...
如果用C语言输出:Hello,world!,该如何编写程序? **代码如下:** #include//包含标准库的信息 main()//定义名为main的函数,不接受参数值 {//main函数的语句都 ...
最新文章
- Android屏幕适配全攻略(最权威的官方适配指导)(转),共大家分享。
- Beautifulsoup的使用
- 2021牛客暑期多校训练营8 J-Tree(思维dp+rmq)
- css响应式布局_用 CSS Grid 布局制作一个响应式柱状图
- 【java】Java -jar 运行的程序如何 本地代码远程调试服务器程序
- 将一个数据插入表中前校验数据是否存在
- sai教程初识SAI + 城堡绘画教程
- Inside NT Boot
- Gamesalad借QQ游戏无线平台进军中国
- xmind8 破解激活教程
- 抖音如何接入在线客服系统?
- JS中every()和some()的对比使用丨蓄力计划
- 【sv】enum赋值
- Three.js光源梳理3——平行光(DirectionalLight)
- ssm智慧养老服务平台毕业设计-附源码211709
- 迷你播放器--第一阶段(4)--内存卡检索不到音乐的错误处理--程序内部空间管理
- 【并发编程一:走进并发编程】
- DVWA 之暴力破解攻击(Brute Force)
- 深入浅出,五次课程,带您进入数据分析的世界
- 原来大数据工作流程可以这样理解------生米煮成熟饭!