c++题目:塞尔达 买房子子(求大神帮忙看看哪里错了)

c++ 指针问题,求大神看看哪里出错,求指点_百度知道
c++ 指针问题,求大神看看哪里出错,求指点
定义一个一维数组并初始化,用指针指向第一个元素地址,然后传递指针到一个函数。
只用指针变量和循环结构来输出所有的偶数元素,输出格式一行一个数字。
代码如下:
#include &iostream&
void print_evens(int *nums,int length...
我有更好的答案
int main(){
int length = 4;
int array[4] = {1,2,3,4};
nums = &array[0];//没错,但一般写成:nums=因为数组名就是首地址
print_evens(*nums, 4);//参数传递错误,应该是:print_evens(nums, 4);
return 0;}void print_evens(int *nums,int length){
if(length & 0)
for(int i = 0; i & i++)
if((*nums+i)%2==0)//改为:if(*(nums+i)%2==0)
std::cout && *nums + i &&std:://改为:std::cout && *(nums + i) &&std::endl
能问一下输出这里为什么要这么改吗,因为没加括号输出也是一样的,谢谢:if((*nums+i)%2==0)//改为:if(*(nums+i)%2==0){std::cout && *nums + i &&std:://改为:std::cout && *(nums + i) &&std::endl}
*nums+i相当于nums[0]+i;这里因为数组元素为1,2,3,4,所以结果一样,若改为其他如:23,45,78,21就不一样了;而*(nums+i)是去指针(nums+i)中内容,相当于:nums[i]
采纳率:74%
来自团队:
int *nums = &array[0];表明nums是指向array首元素的指针调用print_evens时,使用*nums表示解引用该指针,即:print_evens(array[0], 4)无int, int形参的匹配版本,所以报错当使用指针时不需要说明*,int *是符合类型,一元操作符*则表示解引用。
回二楼:一元操作符 * 的优先级高于二元操作符 + ,故先进行解引用运算再将值+i,即:((std::cout && ((*nums) + i)) &&std::endl);改为((std::cout && (*(nums + i))) &&std::endl);同理,if条件的更改:if(((*nums+i)%2)==0) 改为 if((*(nums+i)%2)==0)原写法无语法错误,但显然不是所期望的输出
#include &iostream&void print_evens(int *nums,int length){
if(length & 0)
for(int i = 0; i & i++)
if((*nums+i)%2==0)
std::cout && *nums + i &&std::
}}int main(){
int length = 4;
int array[4] = {1,2,3,4};
nums = &array[0];
print_evens(nums, 4);//
print_evens(*nums, 4);
return 0;}
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。安装C++2005的时候出现的错误 求大神帮忙QQ谢谢先!
var sogou_ad_id=731549;
var sogou_ad_height=160;
var sogou_ad_width=690;c++语言中关于类的一道题,求大神看看哪错了?_百度知道
c++语言中关于类的一道题,求大神看看哪错了?
#include&iostream&
#include&cmath&
class Rational
void set(int a,int b)
numerator=a;
denominator=b;
void print()
cout&&numerator&&&/&&...
我有更好的答案
int Rational::gcd(){Rz.numerator =z.denominator =while(z.denominator!=0){//这里错了,z.numerator = z.z.denominator = z.numerator % z.}//如果没有花括号,就会陷入无限循环。return z.}求最大公约数的算法也可能错了。。。
最大公约数的算法应该怎么改?
int Rational::gcd(){ int m,n,r; if(denominator & numerator) {
n = } else {
n = } r = m % while(r!=0) {
r = m % } }
采纳率:79%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。(森家教育)
(C语言编程)
(随意就好欧巴)
第三方登录:做一个C++题目,修改好久总是修改不对,求大神帮忙看看哪里错了【c++吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:303,397贴子:
做一个C++题目,修改好久总是修改不对,求大神帮忙看看哪里错了收藏
题目:设计一个矩形类,含私有成员长、宽和公有成员面积函数,主函数中定义2个矩形对象,要求输出这两个矩形的面积之和 我写的代码:#include&iostream.h&class rectangle{private:public: float area() {
return l*w; } void setxy() {
cout&&&请输入长于宽:&;
cin&&l&&w; }};void main(){ rectangle A,B; A=setxy(); B=setxy(); s=A.area()+B.area(); cout&&&面积之和为:&; cout&&s&&}报错:Compiling...求矩形面积.cE:\C++\求矩形面积.c(2) : error C2061: syntax error : identifier 'rectangle'E:\C++\求矩形面积.c(2) : error C2059: syntax error : ';'E:\C++\求矩形面积.c(3) : error C2449: found '{' at file scope (missing function header?)E:\C++\求矩形面积.c(17) : error C2059: syntax error : '}'执行 cl.exe 时出错.
不应该是A=setxy(),应该是A.setxy(),应该是这地方出错吧
第一行要.h ?
登录百度帐号

我要回帖

更多关于 买房子什么网站好 的文章

 

随机推荐