当前位置: 代码迷 >> C语言 >> [求助]VC中Strlenl求整数长度(新增问题)
  详细解决方案

[求助]VC中Strlenl求整数长度(新增问题)

热度:132   发布时间:2006-05-22 16:42:00.0

我现在用这个可以
#include <stdio.h>
#include <conio.h>

int main(void)
{

int i;

for (i = 0; getchar() != '\n'; i++) ;
printf("count = %d\n", i);

getch();
return 0;
}

其中有点不明
for (i = 0; getchar() != '\n'; i++) ;
这个循环没懂
你能不能把程序改成像这种格式
int m;
getch(m);
再把m放到里面去
我一改就出错
牢烦指教下
小弟在线等
还有#include <conio.h>小弟没用过 ,起什么作用?
谢谢

[此贴子已经被作者于2006-5-22 16:42:33编辑过]


----------------解决方案--------------------------------------------------------
这个程序还真比我的简单。我就没转弯想想别的方法。。。该死。
----------------解决方案--------------------------------------------------------
我知了
getch()是存一个字符
那个循环人意思
每存一个字符就记录一次值
这样次数就出来了

后面有看的人
麻烦再看看题目
题目已更新
有时间的麻烦给个代码
谢谢
小弟在线等
----------------解决方案--------------------------------------------------------
以下是引用金为床兮银为椅在2006-5-22 16:45:00的发言:
这个程序还真比我的简单。我就没转弯想想别的方法。。。该死。

还对??真晕..都说他的是错的了..

你试试输入 4个 字母什么效果

如 zxcv

什么样..它根本就不报错!~




----------------解决方案--------------------------------------------------------
#include<stdio.h>
int main(void)
{ int i; long x=0; char ch;
for(i=0;(ch=getchar())!= '\n';i++)
if(ch>='0'&&ch<='9')
x=10*x+(ch-'0');
else
break;
printf("该数有%d位(含左0)\n",i);
printf("该数为%ld\n",x);
return 0;
}

----------------解决方案--------------------------------------------------------
那是他设计的不全面,我讲的是方法。。。。。。
可惜这里没有抹布的图标,不然给你擦擦汗
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
int i;
char a;
int j=0;
printf("请输入一个整数\n");
for(i=0;(a=getchar())!='\n';i++)
{
if(a<48||a>57)
{
j=1;
break;
}
}
if(j==0)printf("这是个%d位整数\n",i);
else
printf("对不起,您输入错误\n");
}


经试验通过

[此贴子已经被作者于2006-5-22 18:27:13编辑过]


----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
  相关解决方案