2016-10-19 11 views
0

現在、Cでユーザがループで入力する値を読み込む簡単なプログラムを書いています。何らかの理由で、私が整数aを初期化するとき、私が指定した値とは対照的にランダムな値が与えられます。任意の助けをいただければ幸いですC - 乱数をスローする整数?

#include <stdio.h> 

int main() 
{ 
    char sName[10]; 
    int sTime; 
    int a = 0; 

    printf("%d", &a); 

    printf("Please enter the name of your snail: "); 
    scanf("%s", &sName); 

    for(a = 10; a < 20; a = a + 1) { 
     printf("%d", &a); 
     printf("Please enter the %d time of your snail: ", &a + 1); 
     scanf(" %d ", &sTime); 
    } 
    return 0; 
} 
+0

'&a'は変数のアドレス(例えばポインタ)を返します。 –

+0

別の間違いは、最後のスキャンの ''%d "'は ''%d "'(スペースなし)でなければならないということです。そして '&sName'は' sName'でなければなりません。 –

答えて

1

変更この:これに

printf("%d", &a); 

printf("%d", a); 

&aaのアドレスである(そしてそれはタイプint*のだ、そう%dです間違ったフォーマット)。 aaの値を返します。

さらに&scanf(" %d ", &sTime);に必要です。 scanfは、値を格納する場所を知るためにアドレスsTimeを必要とします。

1

aのアドレスを印刷しています。あなたはそこで&をしたくない:あなたは(何のアドレスに)値を格納するために、その機能を指示する必要がありますので、あなたががscanf()ため&をしたいですか

printf("%d", a);