Redian新闻
>
大家看看这道C语言题是怎么回事?
avatar
大家看看这道C语言题是怎么回事?# Programming - 葵花宝典
m*q
1
我妈妈去年十月签证,通过后有拿到一张纸条说,一年内再签,可以免面谈
如果我妈明年过来,是不是一定要在今年十月前签证才能免面谈呢?
avatar
d*w
2
这里工作能人比较多,我来问问。
我就会两个途径,一个是在一些网站上找,一个是找熟人介绍。感觉都挺慢的。原来我
认为只要看公司大就可以,后来我工作了一阵子,发觉不是这个样子的,要看公司是不
是财务稳定,公司处于哪个发展阶段,还要看具体所在的那个组是不是财务稳定,以及
管理者和合作者的性格人品什么的。感觉远远比我想像的复杂的多。还有什么诀窍呢?
哪里可以学习呢?
avatar
a*a
3
电话打了无数个
去了infopass
找了议员
发了传真
最后今天来封email说10月就批了,但是电脑坏了。就一直没做文件。现在电脑已经修
好了(天知道修好没)。重新去制作。但愿说的是真的。希望下周收到。不然改票费就
太贵了
avatar
c*x
4
RT
avatar
c*t
5
http://www.includehelp.com/c/operators-aptitude-questions-and-answers.aspx
3) What will be the output of following program ?
#include
void main()
{
int x=10;
x+=(x++)+(++x)+x;
printf("%d",x);
}
1. 44
2. 45
3. 46
4. 47
Correct Answer - 2
45
1) expand the expression : x=x+(x++)+(++x)+x;
2) due to pre increment ++x , x will be 11 for this expression.
3) after executing expression x will be 44.
4) finally x will be 45 due to post increment (x++).
弄不懂呀,到底这里 ++x, x++哪个先算?觉得x++应该先算,因为它先出现。可是解
释的正好相反。
我在电脑上编译run了一下这个代码,输出的就是45. 可是解释不通呀,
谁给看看。多谢
过去一直觉得对+这样的运算符都是从左到右。这题彻底颠覆了俺学了/用了几十年的
C语言的基本常识。很悲催呀。
avatar
A*l
6
改四年了吧

【在 m*****q 的大作中提到】
: 我妈妈去年十月签证,通过后有拿到一张纸条说,一年内再签,可以免面谈
: 如果我妈明年过来,是不是一定要在今年十月前签证才能免面谈呢?

avatar
o*e
7
是呀. 管理人的人品其实最重要. 和整个report chain
也很重要.
跟春秋战国,唐末隋末三国差不多. 即使公司(天子)倒了,
跟着大哥大姐诸侯节度使一起打天下,拉大一条队伍,
也可攻可守.
avatar
n*e
8
My case is same as yours, applied in August. Can not even find the case in
their online system. Called them and they said they are going to mail it.
But now I've got my green card already. So I don't bother with this anymore.
Just thought I lost $680 to USCIS. That is two iPhone 4S, wuwu.

【在 a***a 的大作中提到】
: 电话打了无数个
: 去了infopass
: 找了议员
: 发了传真
: 最后今天来封email说10月就批了,但是电脑坏了。就一直没做文件。现在电脑已经修
: 好了(天知道修好没)。重新去制作。但愿说的是真的。希望下周收到。不然改票费就
: 太贵了

avatar
a*g
9
这种考题就和脑筋急转弯一样,别当真
好的代码一个因素就是便于维护。

【在 c*********t 的大作中提到】
: http://www.includehelp.com/c/operators-aptitude-questions-and-answers.aspx
: 3) What will be the output of following program ?
: #include
: void main()
: {
: int x=10;
: x+=(x++)+(++x)+x;
: printf("%d",x);
: }
: 1. 44

avatar
w*t
10
2015年10月前。

我妈妈去年十月签证,通过后有拿到一张纸条说,一年内再签,可以免面谈如果我妈明
年过来,是不是一定要在今年十月前签证才能免面谈呢?
★ Sent from iPhone App: iReader Mitbbs Lite 7.56

【在 m*****q 的大作中提到】
: 我妈妈去年十月签证,通过后有拿到一张纸条说,一年内再签,可以免面谈
: 如果我妈明年过来,是不是一定要在今年十月前签证才能免面谈呢?

avatar
b*y
11
我的原则是,什么公司有助将来自己做business的,就是值得的
avatar
c*t
12
还有就是同个link里的这个题
11) What will be the output of following program ?
#include
int main(){
char val=250;
int ans;
ans= val+ !val + ~val + ++val;
printf("%d",ans);
return 0;
}
Correct Answer - 2
-6
250 is beyond the range of char, the value of val will be -6.
Consider the expression:
ans= val+ !val + ~val + ++val;
Operator! , ~ and ++ have equal precedence. And it associative is right to
left.
So, First ++ operator will perform the operation. So value val will -5
Now,
ans = -5 + !-5 + ~-5 + -5
= -5 + !-5 + 4 - 5
= -5 + 0 + 4 -5
= -6
感觉怎么是从右往左算的呀?太坑爹了。

【在 a*****g 的大作中提到】
: 这种考题就和脑筋急转弯一样,别当真
: 好的代码一个因素就是便于维护。

avatar
r*l
13
2016吧?是过期后四年之内都可以免面签。

【在 w******t 的大作中提到】
: 2015年10月前。
:
: 我妈妈去年十月签证,通过后有拿到一张纸条说,一年内再签,可以免面谈如果我妈明
: 年过来,是不是一定要在今年十月前签证才能免面谈呢?
: ★ Sent from iPhone App: iReader Mitbbs Lite 7.56

avatar
g*t
14
做这种题是一步一步的build up坏习惯。戒了吧。
实在想做,写个python程序自动给答案?
指针都没有,就是加号什么的,应该不难。


: 还有就是同个link里的这个题

: 11) What will be the output of following program ?

: #include

: int main(){

: char val=250;

: int ans;

: ans= val !val ~val val;

: printf("%d",ans);

: return 0;

: }



【在 c*********t 的大作中提到】
: 还有就是同个link里的这个题
: 11) What will be the output of following program ?
: #include
: int main(){
: char val=250;
: int ans;
: ans= val+ !val + ~val + ++val;
: printf("%d",ans);
: return 0;
: }

avatar
m*q
15
2011 + 4
应该是2015吧。
谢谢!

【在 w******t 的大作中提到】
: 2015年10月前。
:
: 我妈妈去年十月签证,通过后有拿到一张纸条说,一年内再签,可以免面谈如果我妈明
: 年过来,是不是一定要在今年十月前签证才能免面谈呢?
: ★ Sent from iPhone App: iReader Mitbbs Lite 7.56

avatar
l*m
16
如果用gcc编译,结果是46. 第二行是45.
x += (x++)+(++x)+x; 46
x = x+(x++)+(++x)+x; 45
x = (x++)+(++x)+x+x; 46
用clang,结果是46. 第二行是44,
x += (x++)+(++x)+x; 46
x = x+(x++)+(++x)+x; 44
x = (x++)+(++x)+x+x; 46
用VC++,全是45。
pre inc当然先算了。只是不同的compiler处理sequence point时有小小差别。
avatar
w*t
17
官网:"您之前的签证必须是当前有效的,或者签证过期时间不超过48个月;"
楼主看签证过期日期是哪天。
所以楼上的ID答得更准确,楼主发包子吧。

2011 + 4应该是2015吧。谢谢!
★ Sent from iPhone App: iReader Mitbbs Lite 7.56

【在 m*****q 的大作中提到】
: 2011 + 4
: 应该是2015吧。
: 谢谢!

avatar
a*a
18

这种东西实际上是标准里未定义的, 严重依赖于编译器实现
哪个货要是在项目里写了这种code,直接开掉就好了,精神肯定是有问题的

【在 c*********t 的大作中提到】
: http://www.includehelp.com/c/operators-aptitude-questions-and-answers.aspx
: 3) What will be the output of following program ?
: #include
: void main()
: {
: int x=10;
: x+=(x++)+(++x)+x;
: printf("%d",x);
: }
: 1. 44

avatar
r*l
19
他既然去年10月签证,就应该今年10月才过期。再加四年不就是2016年10月之前都可以
免面签么?
avatar
p*o
21
这种按标准里的定义基本都是undefined behavior, 和compiler-dependent差远了。

【在 a****a 的大作中提到】
:
: 这种东西实际上是标准里未定义的, 严重依赖于编译器实现
: 哪个货要是在项目里写了这种code,直接开掉就好了,精神肯定是有问题的

avatar
l*n
23
怎么可能,等你撸到射的时候,人家早跑了

【在 o**o 的大作中提到】
: 碰到这种拿不确定性为考题的傻逼,直接把管撸到他脸上。
avatar
c*e
24
对。这种题没意思。

【在 w***g 的大作中提到】
: 我隐约记得很多年前有置顶贴告诉大家不要做/问这类题目。
avatar
k*u
25
1. 我想知道 为什么还在用C语言
2. 这种形式的题 在实际工作中是永远 用不到的
avatar
s*i
26
写这种代码的人直接解雇。这是在给雇主埋炸弹。换compiler的是会搞死人的。

【在 c*********t 的大作中提到】
: http://www.includehelp.com/c/operators-aptitude-questions-and-answers.aspx
: 3) What will be the output of following program ?
: #include
: void main()
: {
: int x=10;
: x+=(x++)+(++x)+x;
: printf("%d",x);
: }
: 1. 44

avatar
l*0
27
面试碰到这种题直接说我们需要避免这种代码

【在 s***i 的大作中提到】
: 写这种代码的人直接解雇。这是在给雇主埋炸弹。换compiler的是会搞死人的。
avatar
h*6
28
上次我们没有换compiler,只是把编译参数从0x改为1y,结果就得出许多不一致。只好
换回0x
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。