图中代码无函数声明在c下可以运行,在c++下不能运行,是什么
c4droid吧
全部回复
仅看楼主
level 7
那夜玩过 楼主
图中代码无函数声明在c下可以运行,在c++下不能运行,是什么原因,求解.
2017年11月22日 09点11分 1
level 7
那夜玩过 楼主
#include<stdio.h>
int main()
{
int *pointer_1,*pointer_2,a,b;
printf("please input 2 numbers:");
scanf("%d,%d",&a,&b);
pointer_1=&a,pointer_2=&b;
if(a<b) swap(pointer_1,pointer_2);
printf("a=%d,b=%d\n",a,b);
printf("max=%d,min=%d",*pointer_1,*pointer_2);
return 0;
}
void swap(int *pointer_1,int *pointer_2)
{
int temp;
temp=*pointer_1;
*pointer_1=*pointer_2;
*pointer_2=temp;
}
2017年11月22日 09点11分 2
level 7
那夜玩过 楼主
在线等,求解呀
2017年11月22日 09点11分 3
不会报错,但是会有警告,其实这个不需要知道为什么,c说可以就可以,c++不能就是不能,他们是标准,一切照标准来。如果什么都问为什么,那问题就多到怀疑人生了。比如为什么c没有bool这个类型啊,为什么c不能使用引用&了,等等等等
2017年11月22日 10点11分
@不知者来此 这等于说是编译环境的问题,是吧?
2017年11月22日 23点11分
@那夜玩过 那我就告诉您为什么,c++是通过函数名+参数个数+参数类型来区别另一个函数,而c只能通过函数名区别另一个函数,所以c++不能帮你默认声明一个函数,因为它无法确定你的参数类型,而c语言不担心参数类型和数量,允许假设这个函数存在。
2017年11月23日 00点11分
@那夜玩过 纯个人理解
2017年11月23日 00点11分
level 1
楼主软件给个给个链接吧
2017年11月23日 12点11分 5
[无效] 精品贴区有。
2017年12月09日 14点12分
@那夜玩过 无效了已经
2017年12月09日 15点12分
2017年12月11日 01点12分
level 1
我的有if就会出错
2017年11月23日 12点11分 6
level 4
楼主,软件求链接啊[泪][泪][泪][泪]
2017年12月07日 07点12分 7
[无效] 精品贴区有。
2017年12月09日 14点12分
2017年12月11日 01点12分
level 6
加个using namespace std;试试
2017年12月09日 17点12分 8
1