** argv无法正常工作

时间:2014-03-02 00:25:22

标签: c++ c visual-studio

固定好! 这个问题的答案是在评论上(我忽略了argv [0],最好使用main而不是_Tmain)但另一个错误是当我在cmd中插入参数时我使用的是comas而不是space,反正谢谢你人们

#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "math.h"


void cambio(int *i, int *j, int(*funcion)(int*, int*))
{
if (*i > *j)(*funcion)(i, j); else{
    printf("\n\n ----->las variables no cambiaran debido a que %i no es mayor  que %i<-----\n\n\n", *i, *j);
}
}



int swap(int *i, int *j)
{
int tmp;
tmp = *i;
*i = *j;
*j = tmp;
printf("--->SWAP se ejecuto satisfactoriamente!<---\n\n");
return 1;
}


int main(int argc, char **argv)
{
printf("argc = %i\n\n", argc);
if (argc != 3) {
    printf("ERROR , SOLO USO 1 ARGUMENTO O MAS DE 3", argv[0]);
    return 1;
}
int i, j;

//printf("Escribe primer numero\t");scanf("%d",&i);
//printf("Escribe segundo numero\t");scanf("%d",&j);

i = atoi((argv[1]));

j = atoi((argv[2]));

printf("%s (nombre del programa)tiene \n\n los enteros: i=%i  j=%i\n\n\n----> SE EJECUTA SWAP<---- \n\n\n", argv[0], i, j);

cambio(&i, &j, swap);
printf("%s (nombre del programa)tiene \n\n los enteros: i=%i  j=%i\n\n \n",argv[0], i, j);
}

0 个答案:

没有答案