由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 简单的c code问题
相关主题
JHQ的一道指针题。C/C++函数调用和栈内存
问一个关于C++指针的问题请教一个pointer的问题
数组问题关于在C中定义常量
C++ pointer to function is buggy求助 怎么编辑 多个 .c files(比如a.c, b.c) 和一个.h file(ab (转载)
C一个问题搞不懂Intel C++ compiler 求教
出个题考考大家:)不如各位高手挑个专题讲讲C++11吧
琢磨了一下c++ smart pointer,发现不能到处用谁帮我解释一下这个代码
[求教大虾]关于C++编译期变量和运行期变量的区别,总是有疑惑帮忙找个错
相关话题的讨论汇总
话题: change话题: int话题: return话题: include话题: printf
进入Programming版参与讨论
1 (共1页)
t**********y
发帖数: 374
1
#include
#include
int change (int x)
{
x += 5;
return x;
}
int main (){
int y =5;
change (y);
printf ("%d",y);
return 0;
}
------------------
第一次写C, 这个小程序, 我期望输出为10,但结果是5, 为什么? 多谢解释:)
C***y
发帖数: 2546
2
你修改的并不是y
需要传y的地址过去

【在 t**********y 的大作中提到】
: #include
: #include
: int change (int x)
: {
: x += 5;
: return x;
: }
: int main (){
: int y =5;
: change (y);

p**o
发帖数: 3409
3

void change (int * x)
(* x) += 5;
//return x;
change (& y);

【在 t**********y 的大作中提到】
: #include
: #include
: int change (int x)
: {
: x += 5;
: return x;
: }
: int main (){
: int y =5;
: change (y);

b***i
发帖数: 3043
4
int change (int& x)

【在 t**********y 的大作中提到】
: #include
: #include
: int change (int x)
: {
: x += 5;
: return x;
: }
: int main (){
: int y =5;
: change (y);

g***l
发帖数: 2753
5
C 没有 reference。

【在 b***i 的大作中提到】
: int change (int& x)
l********a
发帖数: 1154
6
第一次写c,大家就给推荐指针,
你那函数也没问题,返回+5后的数值也对,就是调用的时候没有把返回值赋值给y
最简单就是把main函数里面的change (y);改成 y = change (y);就行了
t**********y
发帖数: 374
7
多谢指教.
看来指针是c 的必要部分, 得去好好看看; 有好的网络教程/书籍推荐吗?

【在 l********a 的大作中提到】
: 第一次写c,大家就给推荐指针,
: 你那函数也没问题,返回+5后的数值也对,就是调用的时候没有把返回值赋值给y
: 最简单就是把main函数里面的change (y);改成 y = change (y);就行了

a*w
发帖数: 4495
8
pass by value

printf("%d", change(y));

【在 t**********y 的大作中提到】
: #include
: #include
: int change (int x)
: {
: x += 5;
: return x;
: }
: int main (){
: int y =5;
: change (y);

s*****X
发帖数: 38
9
正解

【在 l********a 的大作中提到】
: 第一次写c,大家就给推荐指针,
: 你那函数也没问题,返回+5后的数值也对,就是调用的时候没有把返回值赋值给y
: 最简单就是把main函数里面的change (y);改成 y = change (y);就行了

l********a
发帖数: 1154
10

看你要c还是c++
我一般上这里看教程
http://www.cprogramming.com/tutorial/c-tutorial.html
上这里查函数
http://www.cplusplus.com/reference/

【在 t**********y 的大作中提到】
: 多谢指教.
: 看来指针是c 的必要部分, 得去好好看看; 有好的网络教程/书籍推荐吗?

相关主题
出个题考考大家:)C/C++函数调用和栈内存
琢磨了一下c++ smart pointer,发现不能到处用请教一个pointer的问题
[求教大虾]关于C++编译期变量和运行期变量的区别,总是有疑惑关于在C中定义常量
进入Programming版参与讨论
y****e
发帖数: 23939
11
这是正解,以LZ的水平,pass by reference 或pass by pointer 直接修改参数不妥。

【在 l********a 的大作中提到】
: 第一次写c,大家就给推荐指针,
: 你那函数也没问题,返回+5后的数值也对,就是调用的时候没有把返回值赋值给y
: 最简单就是把main函数里面的change (y);改成 y = change (y);就行了

t**********y
发帖数: 374
12
以大家的经验,什么时候开始学习pointer比较合适???

【在 y****e 的大作中提到】
: 这是正解,以LZ的水平,pass by reference 或pass by pointer 直接修改参数不妥。
b*****n
发帖数: 685
13
pointer没他们说的那么难,随便试俩例子就能搞定
R****a
发帖数: 199
14
y=change(y); //if your intention is to get a new "y"
//then print y

【在 t**********y 的大作中提到】
: #include
: #include
: int change (int x)
: {
: x += 5;
: return x;
: }
: int main (){
: int y =5;
: change (y);

O*******d
发帖数: 20343
15
y = change (y);
1 (共1页)
进入Programming版参与讨论
相关主题
帮忙找个错C一个问题搞不懂
包含指针的类和vector的问题出个题考考大家:)
int &x=y;的问题琢磨了一下c++ smart pointer,发现不能到处用
C++一问[求教大虾]关于C++编译期变量和运行期变量的区别,总是有疑惑
JHQ的一道指针题。C/C++函数调用和栈内存
问一个关于C++指针的问题请教一个pointer的问题
数组问题关于在C中定义常量
C++ pointer to function is buggy求助 怎么编辑 多个 .c files(比如a.c, b.c) 和一个.h file(ab (转载)
相关话题的讨论汇总
话题: change话题: int话题: return话题: include话题: printf