c - 结果错误

标签 c

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/

相关文章:

c - C 中的数字相乘

c - 如何比较两个文件并显示 C 中的所有差异?

C 编程数据结构用户输入无法初始化结构类型 Visual Studio

c - Scanf忽略某些类型的输入

c - Fortran/C 互操作性将结构从 Fortran 传递到带有可分配项的 C

c - 如何从流中获取两个连续的字符?

c - 使用代码块时出现 wget 错误

c - 从另一个函数内部返回本地 malloc() 指针

c - 使用 int 或 char 数据类型并进行 K&R - "The C programming language"一书中的练习?

c - free() 函数如何工作?