| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1250 人关注过本帖
标题:实在是解决不了了![求助]
只看楼主 加入收藏
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
以下是引用疯狂VC在2006-5-7 22:32:00的发言:
论坛大哥:为什么我在a=gys(int num1,int num2);里面对num1和num2指定为int型会出错呢!

你那不是指定类型,而是重新定义变量
在C89标准中是不允许在程序中这样定义变量的,比如
for(int i=0;i<100;i++);
这样的语句是非法的

所以,你要实现你说的指定为int类型,可以这样
gys( (int)num1,(int)num2 );
这样做强制转换

但是这样做是很没必要的,因为你在定义num1和num2的时候他们本来就是int型
所以,你这样写就可以了
gys( num1,num2 );


淘宝杜琨
2006-05-07 22:58
飞跃无限
Rank: 1
等 级:新手上路
威 望:1
帖 子:180
专家分:0
注 册:2006-4-16
收藏
得分:0 
以下是引用疯狂VC在2006-5-7 22:44:00的发言:
谢谢5楼上的兄弟!
那个c和d是我在调试的时候加上的!
忘了删了!
看出来你很细心啊!
再问一下那个main()函数中return 0很重要吗?
我在编译的时候没加它也可以得到正确的结果!
还有就是你的程序为什么还要再多出一个判断num1和num2大小的语句呢!
不用判断也可以啊!

return 0不加会被警告,不过也能运行,如是void main()就不要加了,

至于判断num1和num2大小,我看了,不加也可以;

2006-05-07 23:09
疯狂VC
Rank: 1
等 级:新手上路
威 望:1
帖 子:375
专家分:0
注 册:2006-3-29
收藏
得分:0 

Re:论坛9楼
a=gys(int num1,int num2) /*这里有错!表达式语法错在main函数中*/
上面这个语句是我的程序里的!
a = gys(num1, num2) ;
这个语句是你的程序里的!

我只是想比较一下,说明一下自己的错误有多低级!




下面再总结一下吧!
关于这个分号的!(又看了一遍书!)
不加分号的时候!
被调函数在在主调函数后面,如果一楼的程序main()和gys()反过来!即:gys在后main在前!当然了,这时候还要对gys()进行必要的声明!
这个时候在a=gys(int num1,int num2)语句后是不用加分号的!
加分号的时候
这个就不用说了!




2006-05-07 23:09
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
return 0;的作用在windows/dos下也许不那么明显,但是在UNIX/LINUX的管道操作中就非常致命了

淘宝杜琨
2006-05-07 23:10
疯狂VC
Rank: 1
等 级:新手上路
威 望:1
帖 子:375
专家分:0
注 册:2006-3-29
收藏
得分:0 
以下是引用神vLinux飘飘在2006-5-7 22:58:00的发言:

你那不是指定类型,而是重新定义变量
在C89标准中是不允许在程序中这样定义变量的,比如
for(int i=0;i<100;i++);
这样的语句是非法的

所以,你要实现你说的指定为int类型,可以这样
gys( (int)num1,(int)num2 );
这样做强制转换

但是这样做是很没必要的,因为你在定义num1和num2的时候他们本来就是int型
所以,你这样写就可以了
gys( num1,num2 );


明白了
谢谢!!


2006-05-07 23:12
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
回复:(神vLinux飘飘)return 0;的作用在windows/dos...
以下是引用神vLinux飘飘在2006-5-7 23:10:00的发言:
return 0;的作用在windows/dos下也许不那么明显,但是在UNIX/LINUX的管道操作中就非常致命了

谢谢,在下受教了。


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-08 07:03
knight110
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-4-13
收藏
得分:0 
又学到了东西!

2006-05-08 07:37
疯狂VC
Rank: 1
等 级:新手上路
威 望:1
帖 子:375
专家分:0
注 册:2006-3-29
收藏
得分:0 
以下是引用疯狂VC在2006-5-7 23:09:00的发言:

下面再总结一下吧!
关于这个分号的!(又看了一遍书!)
不加分号的时候!
被调函数在在主调函数后面,如果一楼的程序main()和gys()反过来!即:gys在后main在前!当然了,这时候还要对gys()进行必要的声明!
这个时候在a=gys(int num1,int num2)语句后是不用加分号的!
加分号的时候
这个就不用说了!



又来问题了!! 是编译工具的问题还是书上错了啊!!??
是这样的!昨天没有验证不加分号的情况就发帖了!今天又试了一下!竟然不能通过编译!
书上写着《C程序设计(第二版)》第152页的例8,5第五行的那个语句不加分号是能通过编译的!
"语句缺少" ; "在main函数中"!
这个是书的错还是我的工具的事啊?
我用的是win-tc


2006-05-08 08:52
blackstine
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-4-10
收藏
得分:0 
路过,路过,路过!!!

##今日不签名·#¥!!!
2006-05-08 09:15
gaga
Rank: 1
等 级:新手上路
威 望:2
帖 子:307
专家分:0
注 册:2006-4-5
收藏
得分:0 
以下是引用疯狂VC在2006-5-8 8:52:00的发言:

又来问题了!! 是编译工具的问题还是书上错了啊!!??
是这样的!昨天没有验证不加分号的情况就发帖了!今天又试了一下!竟然不能通过编译!
书上写着《C程序设计(第二版)》第152页的例8,5第五行的那个语句不加分号是能通过编译的!
"语句缺少" ; "在main函数中"!
这个是书的错还是我的工具的事啊?
我用的是win-tc

分号是要加的
是书上的错误吧


明天的明天还有明天。 可是今天却只有一个。 public Copy from 无缘今生
2006-05-08 12:56
快速回复:实在是解决不了了![求助]
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035315 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved