2016-04-13 8 views
0

私はCを初めて使用しており、華氏で温度を取り、それを摂氏に変換するXcodeを使用してプログラムを作成しようとしています。これまでの私のコードは以下の通りです。ここで温度変換プログラムを実行した後に受信したメッセージが理解できません

#include <stdio.h> 
#include "hw2.h" 

void convert_temp(int degree1, char scale1, int* degree2, char* scale2){ 

    if (scale1 == 'F') { 
     *degree2 = ((degree1 - 32) * 5)/9; 
     *scale2 = 'C'; 
    } 
    else { 

     *degree2 = ((degree1 * 9)/5) + 32; 
     *scale2 = 'F'; 
    } 
} 

int main() { 
    int degree1, degree2; 
    char scale1, scale2; 
    printf("Enter a temperature and a scale\n"); 
    scanf("%d %c", &degree1, &scale1); 
    convert_temp(degree1, scale1, &degree2, &scale2); 
    printf("%d %c = %d %c\n", degree1, scale1, degree2, scale2); 
    return 0; 
} 

のI/Oが正しいの例である:私は、コードを実行すると

Enter a temperature and a scale 
32 F 
32 F = 0 C 

しかし、これは私が得るものです:

Enter a temperature and a scale 
32 F 
hw2 was compiled with optimization - stepping may behave oddly; variables may not be available. 
(lldb) 

私は出力を理解することはできません私は取得しています。誰も私の出力に32 F = 0 Cを得られない理由を教えてもらえますか?私のコードのすべてが私にとってはうまくいくようです。

答えて

2

hw2がプログラムの名前であると仮定すると、デバッガは最適化をオンにしてコンパイルしていると不平を言います。これは、開発中には正常ではありません。オプティマイザは、 。

あなたはXcodeで、以下を実行する必要があります。

  • あなたはDebugビルド構成を(あなたのスキームを確認してください)を使用してデバッグしていることを確認します。
  • Debugビルド構成の最適化を有効にしていないことを確認してください(ビルド設定を確認してください)。
+0

実行、テスト、プロファイル、分析、アーカイブのデバッグを「リリース」に切り替えました。私はこれがデバッグをオフにして、問題を完全に解決すると思った。おそらく私は間違っていますか? –

+0

@OmarNそれは問題です。 'Debug'に戻してください。あなたが開発しているすべての時間にデバッグをオンにしたいのであれば、逆に直感的に "実行中"はXcodeで "デバッグ"を意味します。 – trojanfoe

+0

それで問題になったら、ちょうど '(lldb)'と言っているメッセージが出て、それがどういう意味か分かりません:/ –

関連する問題