【发布时间】:2020-12-31 01:11:06
【问题描述】:
我正在做一些写入文件的测试。
每一个数值都会无缘无故变成负数,我不会那样做的。
例如:codigo : 1 它总是显示数字 -13312 或 codigo : 2 并且输出是:-13312
我该如何解决?
#include <stdio.h>
int main() {
int codigo1[100];
int numero_telefone[100];
int numero_dependentes[100];
char nome[100];
char estado_civil[100];
FILE *fp;
if ((fp = fopen("nomes.txt", "a")) != NULL) {
printf("Indique o seu codigo de funcionario [0-100]: ");
scanf("%d", codigo1);
fprintf(fp, "Codigo funcionario: %d \n", codigo1);
printf("Inroduduza o seu nome: ");
scanf(" %s", nome);
fprintf(fp, "Nome: %s \n", nome);
printf("Insira o seu numero de telefone: ");
scanf("%d", &numero_telefone);
fprintf(fp, "Numero de telefone: %d \n", numero_telefone);
printf("Indique o seu estado civil: ");
scanf(" %s", &estado_civil);
fprintf(fp, "Estado civil: %s \n", estado_civil);
printf("Indique o numero de dependentes: ");
scanf("%d", &numero_dependentes);
fprintf(fp, "Numero dependentes: %d \n", numero_dependentes);
}
fclose(fp);
}
【问题讨论】:
-
fprintf(fp, "Codigo funcionario: %d \n", codigo1);您应该在这一行收到编译器警告。不要忽视它,因为它会准确地告诉你哪里出了问题。
标签: c