鱼C论坛

 找回密码
 立即注册
查看: 3535|回复: 14

(鱼老师请进,你上课的提问题不会做)

[复制链接]
发表于 2011-6-19 18:54:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
void main()
{
int i=8;
printf("%d\n",++i);
printf("%d\n",--i);
printf("%d\n",i++);
printf("%d\n",i--);
printf("%d\n",-i++);      输出9 8 8 9 -8 -9
printf("%d\n",-i--);
}                         最后2个不是-8和7吗?,为什么是-8和-9.                                                                                                                                 




#include<stdio.h>
void main()
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p,q,i,j);
}                         输出15 22 8 8      这个22怎么来的








#include<stdio.h>
void main()
{
int a,b=336;
float x,y=1;
char cl='k',c2;
a=y;
x=b;
a=cl;
c2=b;
printf("%d,%f,%d,%c\n",a,x,a,c2);
}          第1个a等于107,无法理解   


#include<stdio.h>
void main()
{
int a,b,c,d,x,y;
a=2;b=4;c=6;
y=(x=a+b),(b+c);
printf("y=%d,x=%d",y,x);
}                                   不是逗号运算符吗,y=b+c,怎么输出来得6

评分

参与人数 1鱼币 -1 收起 理由
soldier -1 请注意标题规范, 版块上面有规范。

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-6-19 20:21:24 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-6-19 20:23:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-6-19 20:26:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-6-19 20:31:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-6-19 20:35:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-19 22:00:29 | 显示全部楼层
逗号表达式,书上的例子有点问题
y=(x=a+b),(b+c);
'='的优先级大于','号
y=((x=a+b),(b+c));
y=(b+c)=10

楼主提的几个问题在论坛上都有很多人问过,搜索一下不好吗,问那么多问题也蛮累的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-20 00:32:38 | 显示全部楼层
i++ 是先赋值然后自身加1
++i 是先自身加1,然后在赋值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-20 17:16:04 | 显示全部楼层
学习了一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-6-20 17:48:32 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-6-20 17:51:59 | 显示全部楼层
neur2520 发表于 2011-6-19 20:31
#include
void main()
{

这个语句,在视频上,鱼老师叫我们打下,说是逗号运算符,说的取后面的值呀,难道我听错了???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-6-20 20:37:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-6-20 20:38:01 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-21 08:00:39 | 显示全部楼层
#include<stdio.h>
void main()
{
int i=8;
printf("%d\n",++i); 这里输出值为9
printf("%d\n",--i);  因为上面执行的++i,所以这里在执行之前i的值就已经是9了,再--i,输出为8
printf("%d\n",i++);  同上,执行之前,i值为8,但是这里是i++,先输出8,然后再自加1
printf("%d\n",i--);  输出为9,道理同上
printf("%d\n",-i++);   输出-8   
printf("%d\n",-i--);  输出-9,道理自己照上推
}                  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-21 08:12:27 | 显示全部楼层
#include<stdio.h>
void main()
{
int a,b=336;
float x,y=1;
char cl='k',c2;
a=y;
x=b;
a=cl;
c2=b;
printf("%d,%f,%d,%c\n",a,x,a,c2);
}     
楼主注意啊,“a=cl;”这是a中存放的是字符“k”,而输出a的格式是“%d”,107是“k”的ASCII码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-27 19:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表