int idade, salario,maior, menor, media, somasalario =0, i=0;
char sexo;
char estadoc;
do {
printf("Insira a sua idade:");
scanf("%d", &idade);
if (idade > maior) {
maior = idade;
}
if (idade < menor) {
menor = idade;
}
printf("Insira o seu salario:");
scanf("%d", &salario);
somasalario += salario;
printf("Introduza o seu sexo:");
scanf("%c", &sexo);
printf("Introduza o seu estado civil:");
scanf("%c", &estadoc);
printf("Salario menor que 0!");
}while(idade !=-1);
printf("idade maior: %d", maior);
}
这是我的代码,当我运行该程序时,printf 保持如下所示:
“收入:500 性别简介:公民国家简介: ”
有人可以帮助我吗?
最佳答案
我已经对您的程序进行了各种更正注释。现在它可以工作了,尽管它似乎没有做任何非常有用的事情。事实上,它总是告诉我“Salario menor que 0!”
#include <stdio.h>
#include <limits.h> // added header
int main(void)
{
int idade=0, salario=0, maior=INT_MIN, menor=INT_MAX, somasalario=0;
char sexo=' ', estadoc=' '; // initialised variables
do {
printf("Insira a sua idade: ");
if (scanf("%d", &idade) != 1)
return 1; // input error
if (idade > maior) {
maior = idade;
}
if (idade < menor) {
menor = idade;
}
printf("Insira o seu salario: ");
if (scanf("%d", &salario) != 1)
return 1; // input error
somasalario += salario;
printf("Introduza o seu sexo: ");
if (scanf(" %c", &sexo) != 1) // added space to clean input
return 1; // input error
printf("Introduza o seu estado civil: ");
if (scanf(" %c", &estadoc) != 1) // added space to clean input
return 1; // input error
printf("Salario menor que 0!\n"); // added newline
} while(idade !=-1);
printf("idade maior: %d\n", maior); // added newline
return 0;
}
关于c - 结果错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33022401/