質問: c言語に詳しい方、ご指導をお願いします。 c言語を今勉強しています。 ある調べたい数値を入力して、txtの中に入っている数字(10000までの素数)を読み込み、その素数たちを利用して素因数分解しようとしています。 しかし、何度試しても読み込みだけしか行われず、 調べたい数値を入力することすらできません。 どこに問題があるのでしょうか、ぜひご指導をお願いします。 今作成しているプログラムです。 #include void main(void) {int i,k,num,p[10000]; {for(i=0;scanf("%d",&p[i])!=eof;i++){} num=i; } printf("素因数分解したい整数は?\n"); scanf("%ld",&k); printf("%ld=",k); while(p[i]<=num) { for(i=0;p[i]<=num;i++) {if((k%p[i])==0) {printf("%ld*",p[i]); k=k/p[i]; break; } } } printf("%ld\n",k); } txtの中身 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 ・ ・ ・ 9817 9829 9833 9839 9851 9857 9859 9871 9883 9887 9901 9907 9923 9929 9931 9941 9949 9967 9973
回答: う~ん, なぜ %ld を使ってるんだろ....