帮我看看我哪错了,不应该输出2的乘方吗
#include<stdio.h>int main()
{
int a, b = 0;
printf("请输入一个整数:");
scanf_s("%d", &a);
while (b < a){
b++;
if ((2^b)<=a)
printf("%d\n", 2^b);
}printf("\n");
return 0;
}
#include<stdio.h> #include<math.h> int main() { int a, b = 0; printf("请输入一个整数:"); scanf("%d", &a); while (b < a){ b++; if (pow(2,b)<=a) printf("%f\n", pow(2,b)); }printf("\n"); return 0; }
#include<stdio.h> int my_pow(int a, int b) { int ans = 1; for (int i = 0; i < a; i++) { ans *= b; } return ans; } int main() { int a, b = 0; printf("请输入一个整数:"); scanf("%d", &a); while (b < a){ b++; if (my_pow(2,b)<=a) printf("%d\n", my_pow(2,b)); }printf("\n"); return 0;