Verilen girdi için C alt dizesi oluşturmak için bir görev verdim. Aşağıdaki gibi kod.C'deki substring (dizide kalana ne olacak)
#include<stdio.h>
int main(){
char a[1000];
char *sub;
int startFrom = 0;
int endAt = 0;
printf("Enter the String: ");
scanf("%s", a);
printf("Start From? ");
scanf("%d", &startFrom);
printf("End At? ");
scanf("%d", &endAt);
sub = &a[startFrom];
a[endAt] = '\0';
printf("%s\n", sub);
return 0;
}
Ancak bu kod düzgün çalışıyor, ancak dizideki diğer karakterlere ne olacak?
Hala oradalar, o terminatörün üzerine yazdığınızla daha az (girişinizin aklı başında olduğunu varsayarak). – WhozCraig
scanf kullanın ("% 999s", a); veya fgets (a, 100, stdin); hiçbir zaman scanf% s kullanmayın. – 12431234123412341234123