私はLinux Mint XFCE 18.2を使用しています。私は文字列の方程式を解決しようとしています(ユーザはGTK_ENTRYにある方程式を入力します)。私は答えを評価するためにシステムシェルに文字列を渡します。ここc()関数のprint 0
は大きすぎる実際のコード:-(私のコードです)
int main()
{
long g = system("expr 8 + 7");
printf("%ld \n",g);
}
私はこれを実行し、これまで私はこの結果を得るとき: - それは、この余分な0からを印刷し
$ ./a.out
15
0
すべての回この0はどこから来たのですか?私は15を印刷したいだけです.G変数に値を割り当てたい
'manシステム'の 'system'の戻り値の意味は何ですか?それが必要ない場合は、 'printf'を削除してください。 –
'system()'を使ってコマンドの出力を得ることはできません。 – larsks
'expr'のドキュメントを読んでください。それは計算された価値と何をしていると言いますか? –