|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 赋值语句,用“=”,提示non-lvalue in assiment,为什么?谁能帮忙看看?谢谢!
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
592
人关注过本帖
标题:
赋值语句,用“=”,提示non-lvalue in assiment,为什么?谁能帮忙看看?谢 ...
取消只看楼主
加入收藏
计算机之祖
等 级:
论坛游民
帖 子:63
专家分:17
注 册:2015-9-1
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:5 回复次数:2
赋值语句,用“=”,提示non-lvalue in assiment,为什么?谁能帮忙看看?谢谢!
#include<stdio.h>
#include<stdlib.h>
int f(int n)
{
if (n==1)
f(n)=1;
else
f(n)=n*f(n-1);
}
int main()
{
int a=5;
printf("%d\n",f(a));
system("pause");
return 0;
}
2015-09-01 22:05
举报帖子
使用道具
赠送鲜花
计算机之祖
等 级:
论坛游民
帖 子:63
专家分:17
注 册:2015-9-1
第
2
楼
收藏
得分:0
回复 2楼 TonyDeng
是不是:
我定义的int f(n)函数只是提供了一种递归的计算方式
并没有返回值
所以f(n)=f(n-1)*n 计算的时候,f(n-1)的值并没有被获取到
所以编译器误认为这是个等式
是么?
2015-09-01 22:22
举报帖子
使用道具
赠送鲜花
计算机之祖
等 级:
论坛游民
帖 子:63
专家分:17
注 册:2015-9-1
第
3
楼
收藏
得分:0
回复 5楼 TonyDeng
意思是,在C中
只有定义的float\int\double等类型的变量才会分配有固定的地址空间
而函数f(n),是个临时变量,地址随时变动,所以不能作为左值
而作为右值,比如类似int a=f(b)的形式,是可以将临时变量f(b)正确赋值给a的
是吧
你写的好详细,很耐心,领教了!!
真的非常感谢!!
2015-09-02 11:57
举报帖子
使用道具
赠送鲜花
3
1/1页
1
快速回复:
赋值语句,用“=”,提示non-lvalue in assiment,为什么?谁能帮忙看 ...
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.034341 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved