C++改错题求文字解答
展开全部
第一道题错误的地方:因为在int t(int x, int y)函数里定义的cp是局部变量,程序在运行的时候,会把cp放在栈上,栈上面的东西是随着函数运行的结束而自动消亡的,所以你这里用return(cp)是不会返回真正的cp值,返回的数是随机的,还有一点,这种书写格式是错误的,不用写成return(cp),要写就得写成reutrn cp;
第二道题错误的地方:int a[ ]={1,2,3,4,5,6,7,8,9,10},*p;这里的定义不能这些写,一行程序最好做一件事,这里应把*p去掉; p=a这里应该加个显式转换,虽然这样写不报错,但程序可读性大大降低。printf("%d\n",*p+9):这里的%d应改为%f,必要时还可绝肆芹以加上显示精度,这里的*p+9,我不知道程序的本意是要打印数雹行组的第九个元素还是要打印*p+9这个数,如果是前者并毕,要改为*(p+9)。
希望帮到你
第二道题错误的地方:int a[ ]={1,2,3,4,5,6,7,8,9,10},*p;这里的定义不能这些写,一行程序最好做一件事,这里应把*p去掉; p=a这里应该加个显式转换,虽然这样写不报错,但程序可读性大大降低。printf("%d\n",*p+9):这里的%d应改为%f,必要时还可绝肆芹以加上显示精度,这里的*p+9,我不知道程序的本意是要打印数雹行组的第九个元素还是要打印*p+9这个数,如果是前者并毕,要改为*(p+9)。
希望帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询