#!/bin/sh
# некоторые действия:
# обработка входных параметров,
# установка дополнительных переменных окружения,
# и т.д. ...
exec path_to_dir/progX_orig $*
exec path_to_dir/progX_orig "$@"
int magicFunction(int a, int b, int c, ...) {
va_list args;
va_start(args, c);
//...
}
va_start(arguments, _col);
scanf("%s", *books[i].name);
Вы вместо указателя на имя передаёте значение первого символа, правильно:scanf("%s", books[i].name);
scanf("%d", books[i].price);
scanf("%d", books[i].page_n);
scanf("%d", books[i].pubhouse.year);
Вы вместо адреса переменной передаёте её значение, правильно:scanf("%d", &(books[i].price));
scanf("%d", &(books[i].page_n));
scanf("%d", &(books[i].pubhouse.year));
#define sign(x) ((x) == 0 ? 0 : ((x) > 0 ? 1 : -1))
#define vmul(i,j,k) = ((x[(j)]-x[(i)])*(y[(k)]-y[(j)])-(x[(k)]-x[(j)])*(y[(j)]-y[(i)]))
bool function isConvex(double *x, double *y, int n) {
S = sign(vmul(n-2, n-1, 0));
if ((S1 = vmul(n-1, 0, 1)) != 0 && sign(S1) != S)
return false;
for (int i = 0; i < n-2; i++)
if ((S1 = vmul(i, i+1, i+2)) != 0 && sign(S1) != S )
return false;
return true;
}
2>/tmp/error.log
будет не совсем рационально. Если вы имеете ввиду что вроде - запускаем скрипт, он просит ввести судовский пароль и выполняем команду, то так сделать нельзя
system('SUDO_ASKPASS=/path/to/askpass/askpass sudo -A whoami');
#!/usr/bin/env bash
#/path/to/askpass/askpass
echo "Pa$$word"
-A, --askpass
Normally, if sudo requires a password, it will read it from the user's terminal. If the -A (askpass) option is specified, a (possibly graphical) helper program is executed to
read the user's password and output the password to the standard output. If the SUDO_ASKPASS environment variable is set, it specifies the path to the helper program. Other‐
wise, if sudo.conf(5) contains a line specifying the askpass program, that value will be used. For example:# Path to askpass helper program Path askpass /usr/X11R6/bin/ssh-askpass
If no askpass program is available, sudo will exit with an error.
$ git init
$ echo 111 > 1.txt
$ git add .
$ git commit -m "m10"
$ git checkout -b server
$ echo ser >> 1.txt
$ git commit -am "s11"
$ echo ser1 >> 1.txt
$ git commit -am "s12"
$ echo ser2 >> 1.txt
$ git commit -am "s13"
$ echo ser3 >> 1.txt
$ git commit -am "s14"
$ echo ser4 >> 1.txt
$ git commit -am "s15"
$ git checkout -b experiment
$ echo exp1 >> 1.txt
$ git commit -am "e1"
$ git checkout server
$ echo ser5 >> 1.txt
$ git commit -am "s16"
$ git checkout master
$ git merge server
$ git checkout experiment
$ git rebase master
# будут конфликты, решаем их
$ git mergetool
$ git rebase --continue
$ gitk --all