Alguém pode comentar os programas em C?

Alguém pode comentar cada linha dos dois programas em C,recebi ajuda para fazê-los e gostaria de entender o que faz cada linha dos dois programas em C:
Calculadora de decimo terceiro salário em C:

#include <stdio.h>

int main(void){
  double salario_base, salario_13, n_meses;

  printf("Digite o valor do salário mensal (em reais): ");
  if(scanf("%lf", &salario_base)!=1)
    goto erro_de_leitura;
  printf("Digite a quantidade de meses trabalhados: ");
  if(scanf("%lf", &n_meses)!=1)
    goto erro_de_leitura;
  
  salario_13=salario_base*n_meses/12.0;

  printf ("\nSeu décimo-terceiro salário é de R$%0.2f.\n", salario_13);
  return 0;  /* Sai indicando sucesso. */

erro_de_leitura:
  fprintf(stderr, "\nErro de leitura.  Abortando o programa.\n");
  return 1;  /* Sai indicando falha. */
} 

Programa nome:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// função auxiliar para ler a string e remover a quebra de linha no final
char *ler_texto(const char *prompt, char *buffer, size_t buflen, FILE *fp) {
    puts(prompt);
    if (fgets(buffer, buflen, fp) != 0) {
        size_t len = strlen(buffer);
        // se tem a quebra de linha no final, remove
        if (len > 0 && buffer[len - 1] == '\n') {
            buffer[len - 1] = '\0';
        }
        return buffer;
    }
    // não conseguiu ler, retorna zero
    return 0;
}

int main() {
    char nome[50], sobrenome[50], nomeCompleto[100];
    if (! ler_texto("Qual o seu nome? ", nome, 50, stdin)) {
        printf("Erro ao ler o nome\n");
        exit(-1);
    }
    if (! ler_texto("Qual o seu sobrenome? ", sobrenome, 50, stdin)) {
        printf("Erro ao ler o sobrenome\n");
        exit(-1);
    }
    sprintf(nomeCompleto, "%s %s", nome, sobrenome);
    printf("Qual o seu nome completo: %s\n", nomeCompleto);
    return 0;
}

Peço isso,pois sou um garoto especial portador da síndrome de Noonan e tenho dificuldade de aprendizado e dificuldade para entender,pois eu demoro para cair a ficha,por isso estou pedindo ajuda a vocês.
Alguém pode comentá-los cada linha ou tem outro jeito mais fácil de aprender C?

Segue os comentários no primeiro fonte, tente comentar você mesmo as linhas do segundo.

// incluindo o arquivo de cabeçalho stdio.h para ter acesso às funções printf e scanf
#include <stdio.h>

// declarando a função main que é o ponto de entrada do programa
int main(void){
    
    // declarando três variáveis do tipo double
    double salario_base, salario_13, n_meses;

    // imprimindo uma mensagem
    printf("Digite o valor do salário mensal (em reais): ");
    
    // lendo o salario_base e verificando se é diferente de 1
    if(scanf("%lf", &salario_base)!=1)
        // pula diretamente para a linha onde foi declarado o rótulo 'erro_de_leitura'
        goto erro_de_leitura;

    // imprime outra mensagem
    printf("Digite a quantidade de meses trabalhados: ");
    
    // lê o número de meses e verifica se é diferente de 1
    if(scanf("%lf", &n_meses)!=1)
        // pula diretamente para a linha onde foi declarado o rótulo 'erro_de_leitura'
        goto erro_de_leitura;

    // calcula o 13o salário
    salario_13=salario_base*n_meses/12.0;

    // imprime outra mensagem
    printf ("\nSeu décimo-terceiro salário é de R$%0.2f.\n", salario_13);
    
      return 0;  /* Sai indicando sucesso. */

  // definindo o rótulo 'erro_de_leitura'
  erro_de_leitura:
    // imprime outra mensagem
    fprintf(stderr, "\nErro de leitura.  Abortando o programa.\n");
    return 1;  /* Sai indicando falha. */
}
1 curtida

Como não entendo muito de C,vou deixar quieto,ou seja não vou me atrever a comentar um programa C.

Os seus programas basicamente só apresentam mensagens (funções printf, sprintf, putf), lêem entrada do usuário (funções scanf, fgets) e fazem algumas comparações com if.

São código muito mais simples do que algumas postagens antigas suas em Java.

Talvez seja mais fácil você dizer exatamente quais partes do código não entendeu.

Fechado.