###前提・実現したいこと
16進数または10進数の2つの整数を表示するコードを書いています。
2つの整数は共に16進数の場合もあるので、intではなく文字として入力しようとしています。16進数は「0x」を頭につけて、「0xabcd」のように入力します。Javaでは以下のように実装することができたのですが、C言語でコマンドライン引数を用いたコードに書き直す際に以下の点で困っています。
###発生している問題・エラーメッセージ
現状のコードをどのように変更すれば希望する実行結果が得られるのか分からず、困っています。
現状の実行結果
./example 0xA + 0xA 0 + N
希望する実行結果
入力された値を文字としてそのまま表示する
./example 0xA + 0xA 0xA + 0xA ./example 10 + 0xA 10 + 0xA ./example 10 + 10 10 + 10
###該当のコード
C
1#include<stdio.h> 2#include<stdlib.h> 3 4 5int main(int argc, char *argv[]) 6{ 7 int a; 8 int operator; 9 int b; 10 11 a = argv[1][0]; 12 operator = argv[2][0]; 13 b = argv[3][0]; 14 15 // aとbに対するprintfの変換指定文字を1文字から文字列に変更 16 printf("%s %c %s\n", a, operator, b); 17}
###補足情報(言語/FW/ツール等のバージョンなど)
Eclipse Java EE IDE for Web Developers.
Version: Neon.3 Release (4.6.3)
Build id: 20170314-1500
ターミナル バージョン2.8 (400)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。