Q*******e 发帖数: 939 | 1 void foo(char *x)
{
printf("%d\n", *x);
}
int main(int argc, char **argv)
{
int a = 1;
foo(&a);
}
What's the output? |
a****l 发帖数: 8211 | 2 告诉出题的人去死。
【在 Q*******e 的大作中提到】 : void foo(char *x) : { : printf("%d\n", *x); : } : int main(int argc, char **argv) : { : int a = 1; : foo(&a); : } : What's the output?
|
C***U 发帖数: 2406 | 3 。。。。
你这个太直接了。。。不想要工作了啊
哈哈
【在 a****l 的大作中提到】 : 告诉出题的人去死。
|
l***i 发帖数: 1309 | 4 big endian or little endian |
l*********8 发帖数: 4642 | 5 re
【在 l***i 的大作中提到】 : big endian or little endian
|
Q*******e 发帖数: 939 | 6 估计出题人的考点就是endianess
【在 l*********8 的大作中提到】 : re
|
a****l 发帖数: 8211 | 7 怎么样转弯抹角的骂人又不伤和气也算工作技能的一部分吧,"whoever wrote this in
production code should be kicked out of the company immediately".
这种代码体现了好几种最危险的编程思路,这么说已经是非常客气的了。
【在 Q*******e 的大作中提到】 : 估计出题人的考点就是endianess
|
n*****1 发帖数: 22 | 8 printf("%d\n", *x);
%d, so output should be 1, right?
【在 l***i 的大作中提到】 : big endian or little endian
|
p*****2 发帖数: 21240 | 9
it depends 吧
【在 n*****1 的大作中提到】 : printf("%d\n", *x); : %d, so output should be 1, right?
|
K*****z 发帖数: 32 | 10 error C2664: 'foo' : cannot convert parameter 1 from 'int *' to 'char *' |
Q*******e 发帖数: 939 | 11 What's the compiler??
aa.c: In function `main':
aa.c:12: warning: passing arg 1 of `foo' from incompatible pointer type
on small endian:
# ./a.out
1
on big endian machine:
# ./a.out
0 |
n*****1 发帖数: 22 | 12 printf("%d\n", *x);
%d, so output should be 1, right?
I thought that %d means integer,so endianness does not matter. If it is c%,
then endianness matters.
【在 Q*******e 的大作中提到】 : What's the compiler?? : aa.c: In function `main': : aa.c:12: warning: passing arg 1 of `foo' from incompatible pointer type : on small endian: : # ./a.out : 1 : on big endian machine: : # ./a.out : 0
|