我认为我的逻辑是正确的,但它没有打印任何东西。代码是消除字符串中的元音,然后显示它。任何人都可以用这段代码帮我吗?
#include<stdio.h>
#include<conio.h>
void main()
{
char *str="shivank";
int i,len;
char *q;
clrscr();
len=strlen(str);
for(i=0;i<=len;i++)
{
if((*str=='a')||(*str=='e')||(*str=='i')||(*str=='o')||(*str=='u'))
str++;
else if(*str=='\0')
break;
else
{
*q=*str;
str++;
q++;
}
}
*q='\0';
puts(q);
getch();
}
请阅读[为什么“有人可以帮我吗?”不是一个实际的问题?](https://meta.stackoverflow.com/q/284236/354577)[问]页面提供了提示有效问题的提示。 – Chris
您需要分配q以便它指向某些内存。 – Jeffrey
'void main()'错误,'main'应该返回'int'。 '','clrscr()'和'getch()'不是C语言的一部分。 C没有魔术字符串,当你访问它们时会自动增长,所以'q'不是其中的一个。始终为编译器启用最高级别的警告,并将它们视为错误。 –