| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1349 人关注过本帖
标题:谁能告诉我这个程序为什么运行不出正确结果?
只看楼主 加入收藏
nova2201
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-7-14
收藏
 问题点数:0 回复次数:17 
谁能告诉我这个程序为什么运行不出正确结果?

里面的fun函数是我编的 要求将一个数字字符串转换为一个整数(或负整数)


#include <stdio.h>
#include <string.h>
long fun ( char *p)
{ int i; long a=0, n=0,k=1;
for (i=strlen(p)-1;i>=0;i--)

if (*p=='-')
n=-n;

else
{ n=p[i]-'0';
n*=k;
k*=10;
a+=n;
return a; }
}

main() /* 主函数 */
{ char s[6];
long n;
printf("Enter a string:\n") ;
gets(s);
n = fun(s);
printf("%ld\n",n);


谢谢了

[此贴子已经被作者于2007-9-16 16:26:58编辑过]

搜索更多相关主题的帖子: 结果 运行 
2007-09-16 16:14
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
看风这种格式已经没心情一行一行看下去了



by 雨中飞燕 QQ:78803110 QQ讨论群:5305909

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
2007-09-16 16:19
nova2201
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-7-14
收藏
得分:0 
风格有什么问题吗
2007-09-16 16:25
sunyuantz
Rank: 1
等 级:新手上路
威 望:1
帖 子:407
专家分:0
注 册:2006-3-20
收藏
得分:0 

有,先整理一下
#include <stdio.h>
#include <string.h>
long fun ( char *p)
{
int i;
long a=0, n=0,k=1;
for(i=strlen(p)-1;i>=0;i--)
{
if (*p=='-') n=-n;/*这里干什么呢? n是个long int型且值为0,所以若字符串为-,则n永远为0*/
else
{
n=p[i]-'0';
n*=k;
k*=10;
a+=n;
return a;
}
}
}

main() /* 主函数 */
{
char s[6];
long n;
printf("Enter a string:\n") ;
gets(s);
n = fun(s);
printf("%ld\n",n);
}
整理完了我在研究


[此贴子已经被作者于2007-9-16 16:50:22编辑过]


我不是名人,所以不要签名。等哪天我成名人了......你都认识我了还要签名干嘛!
2007-09-16 16:33
nova2201
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-7-14
收藏
得分:0 
ok,我大概知道自己的风格坏在什么地方了
谢谢
2007-09-16 16:34
sunyuantz
Rank: 1
等 级:新手上路
威 望:1
帖 子:407
专家分:0
注 册:2006-3-20
收藏
得分:0 
你的思路有点倒了,先读s[0]用if-else判断是否为负数,若为负数可以让结果*(-1),然后倒读字符串都用整数做就行了

我不是名人,所以不要签名。等哪天我成名人了......你都认识我了还要签名干嘛!
2007-09-16 16:49
nova2201
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-7-14
收藏
得分:0 
谢谢了
感激不尽
2007-09-16 17:04
nova2201
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-7-14
收藏
得分:0 

成功运行
再次感谢


#include <stdio.h>
#include <string.h>
long fun ( char *p)
{
int i; long a=0, n=0,k=1;
for (i=strlen(p)-1;i>0;i--)
{
n=p[i]-'0';
n*=k;
k*=10;
a+=n;
}
if (p[0]=='-') a=-a;
return a;
}

main() /* 主函数 */
{ char s[6];
long n;
printf("Enter a string:\n") ;
gets(s);
n = fun(s);
printf("%ld\n",n);
}

2007-09-16 17:22
冰的热度
Rank: 2
等 级:禁止访问
威 望:5
帖 子:404
专家分:0
注 册:2006-12-2
收藏
得分:0 
回复:(雨中飞燕)看风这种格式已经没心情一行一行看...
哎......又是废话,

你要是不会就别回贴,




科学是永恒之迷...... 我的博客http://blog..cn/u/1267727974 阅读我的blog,懂与不懂都是收获!
2007-09-16 17:28
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
以下是引用冰的热度在2007-9-16 17:28:52的发言:
哎......又是废话,

你要是不会就别回贴,

行!!!
我什么都不会,你什么都会,OK?
不过我没看见你会什么,我看过一些你帮助别人的帖子,我倒发现误导成份都有了
你以为你说的一定对了
下次我懒得说你



by 雨中飞燕 QQ:78803110 QQ讨论群:5305909

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/

[此贴子已经被作者于2007-9-16 17:32:48编辑过]

2007-09-16 17:32
快速回复:谁能告诉我这个程序为什么运行不出正确结果?
数据加载中...
 
   



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

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