Я начал изучать C и в главе о «пользовательском вводе» есть пример калькулятора, просто используя аргументы командной строки. Когда я написал и скомпилировал его на своей машине, все операторы (-, +, /), кроме оператора умножения (*), работали. При попытке размножения он просто отображает командную строку на новой строке. Любая причина для этого? Может ли этот пример ошибиться? Вот оно:Простой калькулятор в C, только оператор умножения не работает
#include <stdio.h>
int main (int argc, char *argv[])
{
int arg1, arg2;
if (argc == 4)
{
sscanf (argv[1], "%d", &arg1);
sscanf (argv[3], "%d", &arg2);
if (*argv[2] == '+') printf ("%d\n", arg1 + arg2);
if (*argv[2] == '-') printf ("%d\n", arg1 - arg2);
if (*argv[2] == '*') printf ("%d\n", arg1 * arg2);
if (*argv[2] == '/') printf ("%d\n", arg1/arg2);
}
return 0;
}
Ahh, это Windows, Linux по сравнению с проблемой. Используйте './a.out 2 \ * 3', чтобы предотвратить расширение' * 'ко всем файлам текущего каталога. –