2016-04-04 23 views
-6

Tüm ardışık aynı harfi belirli bir dizeden kaldırmak istedim?Neden derleme zamanı hatası gösteriyor?

#include <stdio.h> 
#include <stdio.h> 

int main() 
{ 
char str1[10],str2[10]; 
int n,i=0,j=0,z=1,k=0; 
scanf("%d",&n); 
for(i=0;i<n;i++){ 
    gets(str1); 
    str2[0]=str1[0]; 
    for(j=1;str1[j]!='\0';j++){ 
     if(str1[j]==str1[j-1]) 
      continue; 
     else 
      str2[z]=str1[j]; 
     z++; 
} 
for(k=0;str2[k]!='\0';k++) 
     printf("%s\n",str2[k]); 
} 
return 0; 
} 
+2

Ne tür bir hata alıyorsunuz? Dosyanın en üstünde #include # include nedir? – RyanP

+0

Bu C kodu gibi görünüyor. C++ olarak derlerseniz, etiketi değiştirin, ancak farklı, alakasız bir dil için etiket eklemeyin. – Olaf

cevap

1
printf("%s\n",str2[k]); 

str2 [k] bir karakter, ama o *

Ama bu program hala düzgün çalışmaz bir karakter olduğunu Printf anlatmak - alır ilk çağrıyı() sadece okuyacaktır İlk int değerini okuduktan sonra giriş kuyruğunda bırakılan satır başı dönüşü. Ve asla str2'yi sonlandırmayacaksın.

İlgili konular