#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();
}
----------------解决方案--------------------------------------------------------
指针没指向一定的空间怎么能对其进行操作呢!
----------------解决方案--------------------------------------------------------
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()不用按回车直接读入.
----------------解决方案--------------------------------------------------------