2016-05-09 2 views
0

問題があります:文字列(比較、コピー、コンソールへの出力)の基本操作を引数としてプログラムに渡そうとしています。この文字列にはchar '$'が含まれています。 "$ 1 $ 23 $ 45"と表示されます。問題は私が正しく表示することができないことです、コンソールはちょうどいくつかのランダムな文字を表示します - この場合は "35"がスクリーンに印刷されます。

$1$23$45 

しかし、その代わりに、これは結果である:

だから、私は

printf("%s", argv[1]); 

以下このテキストを印刷するsuposedされないプログラム

./Lab8Dec $1$23$45 

を開始します

35 

特殊文字としてではなく、通常の文字として変数に '$'を扱う方法はありますか?

+0

、 './Lab8Dec「$ 1 $ 23 $最後に45'' – fluter

答えて

2

$は、Cでは特殊文字ではありませんが、ほとんどのLinuxシェルで変数を示す文字です。単一引用符を使用してシェルを形成し、あなたの入力を保護することができます: `$`は、シェルによって解釈され

./Lab8Dec '$1$23$45' 
+1

を試してみてください!それはとても分かりました、ありがとうございました:D –

関連する問題