Salve
ho fatto questo semplice codice per scrivere dei dati dentro ad un file

codice:
#include <stdio.h>
#include <stdlib.h>

typedef struct {
	char nome[30], indirizzo[40], telefono[10];
} dett;

int main() {
	FILE *fp;
	dett dati;
	char risp = 's';

	if ((fp = fopen("C://clienti.txt", "a")) == NULL) {
		fprintf(stderr, "Impossibile aprire il file\n");
		exit(1);
	}

	do {
		printf("Nome Cognome Telefono: ");
		scanf("%s %s %s", dati.nome, dati.indirizzo, dati.telefono);

		fprintf(fp, "%-30s%-40s%-10s\n", dati.nome, dati.indirizzo, dati.telefono);

		printf("Vuoi inserire un altro record? (s/n): ");
		scanf("%1s", &risp);
	} while (risp == 's');
	
	fclose(fp);
}
Ma mi continua a dare sto maledetto errore

codice:
Run-Time Check Failure #2 - Stack around the variable 'risp' was corrupted.
WHY?