为什么我str=(char*)malloc(200*sizeof(char)); 这样子动态分配内存会出错,要怎样改正,还有要怎样释放;
#include<stdio.h>//统计单词的个数;#include<conio.h>#include<malloc.h>voidmain(){charstr[200]...
#include<stdio.h>// 统计单词的个数;
#include<conio.h>
#include<malloc.h>
void main()
{
char str[200];
int i=0,n=0;
str=(char*)malloc(200*sizeof(char));
printf("请输入一行英文单词:");
gets(str);
while(str[i]!='\0')
{
if ((str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')&&(str[i+1]==' '||str[i+1]=='\0'||str[i+1]==','||str[i+1]=='?'||str[i+1]=='.'||str[i+1]=='!'))
n++;
i++;
}
if(str[5]=' ')
{
n--;
}
printf("一共有%d个单词\n",n);
getch();
} 展开
#include<conio.h>
#include<malloc.h>
void main()
{
char str[200];
int i=0,n=0;
str=(char*)malloc(200*sizeof(char));
printf("请输入一行英文单词:");
gets(str);
while(str[i]!='\0')
{
if ((str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')&&(str[i+1]==' '||str[i+1]=='\0'||str[i+1]==','||str[i+1]=='?'||str[i+1]=='.'||str[i+1]=='!'))
n++;
i++;
}
if(str[5]=' ')
{
n--;
}
printf("一共有%d个单词\n",n);
getch();
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询