看帖神器
未名空间
追帖动态
头条新闻
每日新帖
最新热帖
新闻存档
热帖存档
文学城
虎扑论坛
未名空间
北美华人网
北美微论坛
看帖神器
登录
← 下载
《看帖神器》官方
iOS App
,体验轻松追帖。
哥发个C的指针问题吧
查看未名空间今日新帖
最新回复:2020年6月14日 8点57分 PT
共 (25) 楼
返回列表
订阅追帖
只看未读
更多选项
阅读全帖
只看图片
只看视频
查看原帖
d
dachu
4 年多
楼主 (未名空间)
将军们如果做不出以后就不要说会C了。
int f(int x, int *py, int **ppz) {
int y, z;
**ppz += 1;
z = **ppz;
*py += 2;
y = *py;
x += 3;
return x + y + z;
}
int main() {
int c, *b, **a;
c = 4;
b =
a =
cout << f(c, b, a);
return 0;
}
g
goFan
4 年多
2 楼
你这种一看就是垃圾程序马上被毙掉没法 check in 的
w
wa0216
4 年多
3 楼
22
【 在 dachu (Big Chef) 的大作中提到: 】
: 将军们如果做不出以后就不要说会C了。
: int f(int x, int *py, int **ppz) {
: int y, z;
: **ppz += 1;
: z = **ppz;
: *py += 2;
: y = *py;
: x += 3;
: return x + y + z;
: }
: ...................
w
wa0216
4 年多
4 楼
嗯,所有的变量都要原地 initialized
【 在 goFan (够范) 的大作中提到: 】
: 你这种一看就是垃圾程序马上被毙掉没法 check in 的
d
dachu
4 年多
5 楼
【 在 goFan (够范) 的大作中提到: 】
: 你这种一看就是垃圾程序马上被毙掉没法 check in 的
嘿嘿,你说是多少吧
b
beetle1986
4 年多
6 楼
C没有cout, 你得写printf
d
dachu
4 年多
7 楼
【 在 wa0216 (SleepingDragon) 的大作中提到: 】
: 22
不对。再看。
w
wa0216
4 年多
8 楼
19
【 在 dachu (Big Chef) 的大作中提到: 】
: 不对。再看。
d
dachu
4 年多
9 楼
【 在 beetle1986 (beetle) 的大作中提到: 】
: C没有cout, 你得写printf
就算C++吧,无关大局,主要是指针的概念清不清楚。
a
aaddoo
4 年多
10 楼
19
【 在 dachu (Big Chef) 的大作中提到: 】
: 将军们如果做不出以后就不要说会C了。
: int f(int x, int *py, int **ppz) {
: int y, z;
: **ppz += 1;
: z = **ppz;
: *py += 2;
: y = *py;
: x += 3;
: return x + y + z;
: }
: ...................
d
dachu
4 年多
11 楼
19对了。不错。
考过三个人,都没作对。
【 在 aaddoo (nothing) 的大作中提到: 】
: 19
G
Giusto
4 年多
12 楼
19
跟指针没多大关系,主要是C的函数是传值的,跟fortran传地址不一样。
r
raam
4 年多
13 楼
19
s
subsub1
4 年多
14 楼
5+7+7
t
ts78
4 年多
15 楼
z = 4 + 1
y = 4 + 1 + 2
x = 4 + 3
【 在 dachu (Big Chef) 的大作中提到: 】
: 将军们如果做不出以后就不要说会C了。
: int f(int x, int *py, int **ppz) {
: int y, z;
: **ppz += 1;
: z = **ppz;
: *py += 2;
: y = *py;
: x += 3;
: return x + y + z;
: }
: ...................
C
Caravel
4 年多
16 楼
这个太简单了,但是有巨复杂的指针
【 在 dachu (Big Chef) 的大作中提到: 】
: 将军们如果做不出以后就不要说会C了。
: int f(int x, int *py, int **ppz) {
: int y, z;
: **ppz += 1;
: z = **ppz;
: *py += 2;
: y = *py;
: x += 3;
: return x + y + z;
: }
: ...................
w
wa0216
4 年多
17 楼
其实真正烧脑的是mutual recursion,指针一旦明白了,没啥难的
【 在 Caravel(克拉维尔) 的大作中提到: 】
<br>: 这个太简单了,但是有巨复杂的指针
<br>
i
iWater
4 年多
18 楼
Fortran参数的压栈顺序是什么方向的?忘了……
【 在 Giusto (新中国联邦北美大都督) 的大作中提到: 】
: 19
: 跟指针没多大关系,主要是C的函数是传值的,跟fortran传地址不一样。
l
lexabc
4 年多
19 楼
If you write such code during interview, you fail.
You deference pointers without first checking null.
【 在 dachu (Big Chef) 的大作中提到: 】
: 将军们如果做不出以后就不要说会C了。
: int f(int x, int *py, int **ppz) {
: int y, z;
: **ppz += 1;
: z = **ppz;
: *py += 2;
: y = *py;
: x += 3;
: return x + y + z;
: }
: ...................
T
TheMatrix
4 年多
20 楼
除了这个,还有函数指针和const的用法,这属于语法问题。
【 在 dachu (Big Chef) 的大作中提到: 】
: 将军们如果做不出以后就不要说会C了。
: int f(int x, int *py, int **ppz) {
: int y, z;
: **ppz += 1;
: z = **ppz;
: *py += 2;
: y = *py;
: x += 3;
: return x + y + z;
: }
: ...................
G
Giusto
4 年多
21 楼
left->right
【 在 iWater (aspire to inspire before i expire) 的大作中提到: 】
: Fortran参数的压栈顺序是什么方向的?忘了……
g
geneontology
4 年多
22 楼
5+7+7
h
hhmmss
4 年多
23 楼
学C++的话这是第一堂课的题
【 在 dachu (Big Chef) 的大作中提到: 】
: 将军们如果做不出以后就不要说会C了。
: int f(int x, int *py, int **ppz) {
: int y, z;
: **ppz += 1;
: z = **ppz;
: *py += 2;
: y = *py;
: x += 3;
: return x + y + z;
: }
: ...................
T
Tatou
4 年多
24 楼
什么年头了,现在起码应该问rvalue reference之类的问题
d
dachu
4 年多
25 楼
菌斑的水平比现在市面上找工的平均水平高不少。
MAGA不用将军们应该没戏。床普不懂中文,不知道得菌斑者的天下。
请输入帖子链接
收藏帖子
将军们如果做不出以后就不要说会C了。
int f(int x, int *py, int **ppz) {
int y, z;
**ppz += 1;
z = **ppz;
*py += 2;
y = *py;
x += 3;
return x + y + z;
}
int main() {
int c, *b, **a;
c = 4;
b =
a =
cout << f(c, b, a);
return 0;
}
你这种一看就是垃圾程序马上被毙掉没法 check in 的
22
【 在 dachu (Big Chef) 的大作中提到: 】
: 将军们如果做不出以后就不要说会C了。
: int f(int x, int *py, int **ppz) {
: int y, z;
: **ppz += 1;
: z = **ppz;
: *py += 2;
: y = *py;
: x += 3;
: return x + y + z;
: }
: ...................
嗯,所有的变量都要原地 initialized
【 在 goFan (够范) 的大作中提到: 】
: 你这种一看就是垃圾程序马上被毙掉没法 check in 的
【 在 goFan (够范) 的大作中提到: 】
: 你这种一看就是垃圾程序马上被毙掉没法 check in 的
嘿嘿,你说是多少吧
C没有cout, 你得写printf
【 在 wa0216 (SleepingDragon) 的大作中提到: 】
: 22
不对。再看。
19
【 在 dachu (Big Chef) 的大作中提到: 】
: 不对。再看。
【 在 beetle1986 (beetle) 的大作中提到: 】
: C没有cout, 你得写printf
就算C++吧,无关大局,主要是指针的概念清不清楚。
19
【 在 dachu (Big Chef) 的大作中提到: 】
: 将军们如果做不出以后就不要说会C了。
: int f(int x, int *py, int **ppz) {
: int y, z;
: **ppz += 1;
: z = **ppz;
: *py += 2;
: y = *py;
: x += 3;
: return x + y + z;
: }
: ...................
19对了。不错。
考过三个人,都没作对。
【 在 aaddoo (nothing) 的大作中提到: 】
: 19
19
跟指针没多大关系,主要是C的函数是传值的,跟fortran传地址不一样。
19
5+7+7
z = 4 + 1
y = 4 + 1 + 2
x = 4 + 3
【 在 dachu (Big Chef) 的大作中提到: 】
: 将军们如果做不出以后就不要说会C了。
: int f(int x, int *py, int **ppz) {
: int y, z;
: **ppz += 1;
: z = **ppz;
: *py += 2;
: y = *py;
: x += 3;
: return x + y + z;
: }
: ...................
这个太简单了,但是有巨复杂的指针
【 在 dachu (Big Chef) 的大作中提到: 】
: 将军们如果做不出以后就不要说会C了。
: int f(int x, int *py, int **ppz) {
: int y, z;
: **ppz += 1;
: z = **ppz;
: *py += 2;
: y = *py;
: x += 3;
: return x + y + z;
: }
: ...................
其实真正烧脑的是mutual recursion,指针一旦明白了,没啥难的
【 在 Caravel(克拉维尔) 的大作中提到: 】
<br>: 这个太简单了,但是有巨复杂的指针
<br>
Fortran参数的压栈顺序是什么方向的?忘了……
【 在 Giusto (新中国联邦北美大都督) 的大作中提到: 】
: 19
: 跟指针没多大关系,主要是C的函数是传值的,跟fortran传地址不一样。
If you write such code during interview, you fail.
You deference pointers without first checking null.
【 在 dachu (Big Chef) 的大作中提到: 】
: 将军们如果做不出以后就不要说会C了。
: int f(int x, int *py, int **ppz) {
: int y, z;
: **ppz += 1;
: z = **ppz;
: *py += 2;
: y = *py;
: x += 3;
: return x + y + z;
: }
: ...................
除了这个,还有函数指针和const的用法,这属于语法问题。
【 在 dachu (Big Chef) 的大作中提到: 】
: 将军们如果做不出以后就不要说会C了。
: int f(int x, int *py, int **ppz) {
: int y, z;
: **ppz += 1;
: z = **ppz;
: *py += 2;
: y = *py;
: x += 3;
: return x + y + z;
: }
: ...................
left->right
【 在 iWater (aspire to inspire before i expire) 的大作中提到: 】
: Fortran参数的压栈顺序是什么方向的?忘了……
5+7+7
学C++的话这是第一堂课的题
【 在 dachu (Big Chef) 的大作中提到: 】
: 将军们如果做不出以后就不要说会C了。
: int f(int x, int *py, int **ppz) {
: int y, z;
: **ppz += 1;
: z = **ppz;
: *py += 2;
: y = *py;
: x += 3;
: return x + y + z;
: }
: ...................
什么年头了,现在起码应该问rvalue reference之类的问题
菌斑的水平比现在市面上找工的平均水平高不少。
MAGA不用将军们应该没戏。床普不懂中文,不知道得菌斑者的天下。