当前位置: 代码迷 >> C语言 >> 大家来看看我写的程序为什么不对啊?
  详细解决方案

大家来看看我写的程序为什么不对啊?

热度:259   发布时间:2006-05-06 14:11:00.0
大家来看看我写的程序为什么不对啊?
输入一串字符串,求它的个数.
#include<stdio.h>
void main()
{ char *p;
int length;
printf("Please input your string:\n");
for(length=0;*p=='\0';p++,length++)
*p=getchar();
printf("The number of your string is :%d.\n",length);
getch();
}
搜索更多相关的解决方案: length  string  The  printf  

----------------解决方案--------------------------------------------------------
指针没指向一定的空间怎么能对其进行操作呢!
----------------解决方案--------------------------------------------------------
this is terrible
----------------解决方案--------------------------------------------------------
length没初始值
跳出循环的条件错误!
自己多想想吧
----------------解决方案--------------------------------------------------------

#include <stdio.h>
void main()
{ char *p;
char a;

int length=0;
p=&a;
printf("Please input your string:\n");
*p=getche();
while(*p!='\r')
{
*p=getche();
length++;
}
printf("\nThe number of your string is :%d.\n",length);
getch();
}

[此贴子已经被作者于2006-5-6 14:28:11编辑过]


----------------解决方案--------------------------------------------------------
哇~好象逻辑上的错误很大诶~
----------------解决方案--------------------------------------------------------

让人都不好往哪边改了;
错误的地方太多。


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

5楼写的也有问题吧~我把你写错了的标点该了也运行不起~
getche()是什么啊?呵呵 还有你length处理得也不好~
而且最主要的是....怎么'/t'也行吗?调试没错 可能行吧~呵呵 我以前都不知道,我真是学得太浅了
还有...
如果你是想用getchar()的话~它是不会接受回车键的吧?所以无法跳出循环.
反正我VC++6.0运行是死循环 ~


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

#include "string.h"
#include <stdio.h>
#define MAX 100
void main()
{
char str[MAX];
gets(str);
printf("\nThe number of your string is :%d.\n",strlen(str));
}
用数组做的话就非常简单.
谁能不用数组 把这道题处理好啊~


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

改了&和char a;的分号,程序运行通过,程序只是用来计算输入字符的个数,并不对字符串进行存储。
getche()不用按回车直接读入.


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