| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 604 人关注过本帖
标题:[求助]这个程序哪里错了
只看楼主 加入收藏
cnnet
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-8-14
收藏
 问题点数:0 回复次数:8 
[求助]这个程序哪里错了
输入一个数字字符串,输出相应的整形常量,比如输入"123",输出整形123.
怎么我运行结果都是0?谢谢!

#include <stdio.h>
main()
{
int i=0;char s[10];
long n=0;
while((s[i]=getchar())!='\n');
i++;
s[i]='\0';
for(i=0;s[i]!='\0';i++)
if(s[i]<='9'&&s[i]>='0')
n=n*10+(s[i]-'0');
else break;
printf("%Ld\n",n);
}

[此贴子已经被作者于2006-8-16 0:37:35编辑过]

2006-08-16 00:36
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
while((s[i]=getchar())!='\n');

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-08-16 00:46
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
delete ';' symbol

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-08-16 00:47
cnnet
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-8-14
收藏
得分:0 
谢谢论坛帮我解决.
是我太粗心了.
2006-08-16 01:00
偷着乐
Rank: 1
等 级:新手上路
帖 子:176
专家分:0
注 册:2006-8-16
收藏
得分:0 
呵呵,纯粹雷同错误

一切都是那么美好!比尼采还想象得深远!比幻觉还真实!
2006-08-16 10:53
ridwsc
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2006-8-10
收藏
得分:0 

中国加油,加油,加油~~~~~ 我行~~我可以~~C
2006-08-16 10:54
触电
Rank: 1
等 级:新手上路
威 望:1
帖 子:228
专家分:0
注 册:2006-7-26
收藏
得分:0 
好象论坛同学很好用英语的样子
2006-08-16 15:25
dusx1981
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-8-6
收藏
得分:0 
怎么还是0啊
2006-08-16 16:09
wuyufenjr
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-7-20
收藏
得分:0 
以下是引用cnnet在2006-8-16 0:36:38的发言:
输入一个数字字符串,输出相应的整形常量,比如输入"123",输出整形123.
怎么我运行结果都是0?谢谢!

#include <stdio.h>
main()
{
int i=0;char s[10];
long n=0;
while((s[i]=getchar())!='\n');/*这里有一个分号,是执行空语句,表示i没变过,一直到最后,当输入‘\n'时,结果while循环,至始至终,都只有给s[0]赋值,其它元素都没有赋值。*/
i++;
s[i]='\0';
for(i=0;s[i]!='\0';i++)
if(s[i]<='9'&&s[i]>='0')
n=n*10+(s[i]-'0');
else break;
printf("%Ld\n",n);
}

2006-08-16 22:28
快速回复:[求助]这个程序哪里错了
数据加载中...
 
   



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

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