Salve a tutti, ho appena fatto un programma in cui copio una stringa usando la notazione dei vettori e quella dei puntatori. Ecco il programma:
#define CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void copy1(char *s1, const char *s2);
void copy2(char *s1, const char *s2);
int main() {
char string1 = [ 10 ];
char *string2 = "Hello";
char string3 = [10];
char string4[] = "Good Bye";
copy1(string1, string2);
printf("string1 = %s\n", string1);
copy2(string3, string4);
printf("string3 = %s\n", string3);
return 0;
}
void copy1(char *s1, const char *s2) {
int i;
for (i = 0; (s1[i] = s2[i]) != '\0'; i++) {
;
}
}
void copy2(char *s1, const char *s2) {
for (; (*s1 = *s2) != '\0'; s1++, s2++) {
;
}
}
Non capisco perchè in queste entrambe righe di codice mi viene errore con scritto: (prevista un espressione):
char string1 = [ 10 ];
char string3 = [10];
Qualcuno ha capito il perchè? In teoria il programma dovrebbe già funzionare..