导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→关于C语言的一个基本问题!请教大家!谢谢![kuolongfei]

 *第19318篇: 关于C语言的一个基本问题!请教大家!谢谢!

  
楼 主:kuolongfei 2004年2月18日11:24
 关于C语言的一个基本问题!请教大家!谢谢!
请问以下程序中的循环语句执行过程!万分感谢!
main()
{int x=10,y=10,i;
for(i=0;x>  8;y=++i)
printf("%d,%d",x--,y);
}
  
2楼:jamsan 2004年2月18日13:08
 我认为会循环两次,每次 x 减1,y加1
我认为会循环两次,每次 x 减1,y加1
  
3楼:kuolongfei 2004年2月18日15:16
 可输出的结果是10 10 9 1。可以自己试试!
按你说的方法不通,输出的结果是10 10 9 1。可以自己试试!也就是第一次循环时Y的值没有变化。大家能否解释一下
  
4楼:kuolongfei 2004年2月19日09:10
 一个简单的问题,不会没人会吧!帮帮忙!
  
5楼:guest 2004年2月19日10:17
 循环2次,结果:
10,1 9,2

循环2次,结果:
10,1 9,2
  
6楼:guest 2004年2月19日16:39
 1, printf("%d,%d",x-
1, printf("%d,%d",x--,y);--out:10,10
2, x=x-1;
3, y=i+1;
4,printf("%d,%d",x--,y);--out:9,1
5, x=x-1;
6, y=i+1;

  
7楼:kuolongfei 2004年2月20日08:03
 ok,谢谢各位朋友!
  
8楼:lxqqqqq 2004年2月19日21:00
 楼上的是对的
for (a;b;c)语

楼上的是对的
for (a;b;c)语句的执行过程是:
           1: 先对a赋初值,
           2: 再对b进行判断,条件为真则执行循环体,为假则跳出
           3: 执行c操作,再重复第2步
printf("%d,%d",x--,y);的执行过程中对x变量的操作为:先传递x的值,再执行x--操作
  
9楼:xfwang 2004年2月20日21:39
 关于++i  和i++
在c语言中++i, i++的问题是很多人搞不懂的举个例子吧
int i=1,a=1c,d;
c=++i;d=a++;
执行之后
i=2  a=2 c=2 d=1  为什么会这样呢
程序在执行c=++时先执行++运算即先把(i+1)的值赋给了c,然后在执行i=i+1使i自加1,而在执行d=a++时先执行赋值运算即先把a的值赋给d即d=a=1,然后在执行a=a+1使a自加1
所以就有了执行之后的i=2  a=2 c=2 d=1  结果了 
如果不明白这层  c语言你是不可能学的好的哦
  
10楼:guest 2004年2月21日11:13
 在说一句
然后再按照8楼的for语句的执行顺序就可以得到正确的答案了

>>>>>>对该主题发表你的看法

本主题贴数10,分页: [第1页]


[上一篇主题]:是不是免费的MAX+PLUS2不能用图形和波形输入呀?

[下一篇主题]:哪位知道OTP芯片的具体英文缩写?