printf 文の表示について
Q&A
Closed
解決したいこと
printf文が下記プログラムで実行されない問題について。
例)
とある課題中に発生した問題です。
f1,f2,f3では問題なく表示できたのですが、f4だけ表示できませんでした。
なぜ表示されないのかわかる方いましたら教えていただきたいです。
int f4 (int x,int y)
{
int r;
for (r=0; y>0; y=y/2)
{if (y%2 ==1){
r=r+x;count1++;
}
count2++
x=x*2;
}
printf("%d回\n",count1++);
printf("%d回\n",count2++);
return r;
}
例)
f1(3,5)は<15>です
f2(3,5)は<8>です
f3(3,5)は<15>です
f4(3,5)は<15>です
Program ended with exit code: 0
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
#include <stdio.h>
int count1=0,count2=0;
int f1(int ,int);
int f2(int ,int);
int f3(int ,int);
int f4(int ,int);
int main(int argc, const char * argv[]) {
int r1,r2,r3,r4;
r1=f1(3, 5);
r2=f2(3, 5);
r3=f3(3,5);
r4=f3(3,5);
printf("f1(3,5)は<%d>です\n",r1);
printf("f2(3,5)は<%d>です\n",r2);
printf("f3(3,5)は<%d>です\n",r3);
printf("f4(3,5)は<%d>です\n",r4);
return 0;
}
int f1(int x ,int y)
{
int r;
for (r=0; y>0; y--) {
r=r+x;
}
return r;
}
int f2 (int x,int y)
{
int r;
for (r=x; y>0; y--)
{
r++;
}
return r;
}
int f3 (int x,int y)
{
int r;
for (r=0; y>0; y--)
{
r=f2(r,x);
}
return r;
}
int f4 (int x,int y)
{
int r;
for (r=0; y>0; y=y/2)
{if (y%2 ==1){
r=r+x;count1++;
}
count2++;
x=x*2;
}
printf("%d回\n",count1++);
printf("%d回\n",count2++);
return r;
}
例)
def greet
puts Hello World
end
自分で試したこと
ここに問題・エラーに対して試したことを記載してください。
0