int main() { char *p="01001001"; int number=0; Binary_conversion(p[1]); return 0; }
时间: 2024-04-10 18:28:20 浏览: 96
你的代码中有一些问题。首先,你声明了一个字符指针p,并将其初始化为一个字符串字面值"01001001"。然后,你声明了一个整型变量number,并将其初始化为0。接下来,你调用了一个函数Binary_conversion,并传入了p的第一个字符p[1]作为参数。最后,你返回了0。
然而,你没有提供Binary_conversion函数的定义或声明,所以无法确定这个函数的具体实现。
如果你想要将二进制字符串转换为整数,你可以使用标准库函数atoi或者自己编写一个函数来实现。以下是一个示例的实现:
```
#include <stdio.h>
int binary_conversion(const char* binary) {
int number = 0;
int power = 1;
for (int i = strlen(binary) - 1; i >= 0; i--) {
if (binary[i] == '1') {
number += power;
}
power *= 2;
}
return number;
}
int main() {
char *p = "01001001";
int number = binary_conversion(p);
printf("%d\n", number);
return 0;
}
```
这个示例中,我们定义了一个名为binary_conversion的函数,它接受一个二进制字符串作为参数,并返回相应的整数值。在主函数中,我们调用了binary_conversion函数,并将其结果存储在number变量中。最后,我们使用printf函数将number的值打印出来。
请注意,这只是一个示例实
阅读全文