Ejemplo de argumentos de línea de comando en C

Requisito previo: Command_line_argument . El problema es encontrar el entero más grande entre los tres usando argumentos de línea de comando. Notas:

  • Los argumentos de la línea de comandos se dan después del nombre del programa en el shell de la línea de comandos de los sistemas operativos. Para pasar argumentos de la línea de comandos, normalmente definimos main() con dos argumentos: el primer argumento es el número de argumentos de la línea de comandos y el segundo es una lista de argumentos de la línea de comandos.
int main(int argc, char *argv[]) { /* ... */ }
  • atoi : se utiliza para convertir números de string en enteros

Ejemplos:

Input  : filename 8 9 45
Output : 45 is largest

Input  : filename 8 9 9
Output : Two equal number entered

Input  : filename 8 -9 9
Output : negative number entered

Al llamar al programa, pasamos tres enteros junto con su nombre de archivo y luego el programa imprime el mayor de los tres números. Acercarse:

  1. El programa “devuelve 1” si se cumple una de las dos condiciones siguientes:
    • Si dos números cualesquiera son iguales, imprima la declaración «se ingresaron dos números iguales».
    • Si alguno de los números es negativo, escriba “número negativo ingresado”.
  2. De lo contrario, «devuelve 0» si se ingresan tres enteros diferentes.

Para una mejor comprensión, ejecute este código usted mismo.

C

// C program for finding the largest integer
// among three numbers using command line arguments
#include <stdio.h>
#include <stdlib.h>
 
// Taking argument as command line
int main(int argc, char *argv[])
{
    int a, b, c;
 
    // Checking if number of argument is
    // equal to 4 or not.
    if (argc < 4 || argc > 5)
    {
        printf("enter 4 arguments only eg.\"filename arg1 arg2 arg3!!\"");
        return 0;
    }
 
    // Converting string type to integer type
    // using function "atoi( argument)"
    a = atoi(argv[1]);
    b = atoi(argv[2]);
    c = atoi(argv[3]);
 
    // Checking if all the numbers are positive of not
    if (a < 0 || b < 0 || c < 0)
    {
        printf("enter only positive values in arguments !!");
        return 1;
    }
 
    // Checking if all the numbers are different or not
    if (!(a != b && b != c && a != c))
    {
        printf("please enter three different value ");
        return 1;
    }
    else
    {
        // Checking condition for "a" to be largest
        if (a > b && a > c)            
            printf("%d is largest", a);
 
        // Checking condition for "b" to be largest   
        else if (b > c && b > a)
            printf ("%d is largest", b);
 
        // Checking condition for "c" to be largest..
        else if (c > a && c > b)
            printf("%d is largest ",c);
    }
    return 0;
}

Producción :

   

Publicación traducida automáticamente

Artículo escrito por Rohit_ranjan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *