【发布时间】:2018-05-08 14:27:24
【问题描述】:
我要参加考试,我的老师会问奇怪的 C 语法规则。喜欢:
int q=5;
for(q=-2;q=-5;q+=3) { //assignment in condition part??
printf("%d",q); //prints -5
break;
}
或者
int d[][3][2]={4,5,6,7,8,9,10,11,12,13,14,15,16};
int i=-1;
int j;
j=d[i++][++i][++i];
printf("%d",j); //prints 4?? why j=d[0][0][0] ?
或者
extern int a;
int main() {
do {
do {
printf("%o",a); //prints 12
} while(!1);
} while(0);
return 0;
}
int a=10;
我找不到它统治任何网站或书籍。真是荒谬和不寻常。我在哪里可以找到?
【问题讨论】:
-
嗯,很多老师确实会问一些愚蠢的东西,而且格式更差,让你感到困惑。
-
@Badiparmagi 因为学生应该思考他们所学的内容并相应地应用规则。它不必有任何意义或有用。
-
有点吹毛求疵,你的问题更多地与语义有关,而不是 C 的语法。
-
离题:它是关于我们要求推荐一个场外资源(书籍、外部网站、老师的评论)。它往往会吸引基于意见的答案。