我認爲我的邏輯是正確的,但它沒有打印任何東西。代碼是消除字符串中的元音,然後顯示它。任何人都可以用這段代碼幫我嗎?
#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'不是其中的一個。始終爲編譯器啓用最高級別的警告,並將它們視爲錯誤。 –