C语言中可以使用atoi函数将二进制字符串转换为十进制整数。下面是一个示例:
#include <stdio.h>#include <stdlib.h>#include <string.h>int binaryToDecimal(char *binary) {int decimal = 0;// 逐位遍历二进制字符串for (int i = 0; i < strlen(binary); i++) {// 将字符转换为数字int bit = binary[i] - '0';// 计算对应位的十进制值decimal = decimal * 2 + bit;}return decimal;}int main() {char binary[32];printf("请输入一个二进制数:");scanf("%s", binary);int decimal = binaryToDecimal(binary);printf("对应的十进制数为:%d\n", decimal);return 0;}在上述示例中,binaryToDecimal函数接受一个表示二进制数的字符串,并将其转换为十进制整数。函数首先初始化一个十进制变量decimal为0,然后逐位遍历二进制字符串。对于每一位,将字符转换为数字,并使用乘法和加法操作来计算该位的十进制值。最后,返回十进制整数。
在主函数中,首先通过scanf函数获取用户输入的二进制字符串,并调用binaryToDecimal函数进行转换。最后,将转换得到的十进制整数打印出来。
请注意,上述示例没有考虑输入错误的情况,比如用户输入的字符串不是合法的二进制数。在实际应用中,你可能需要添加对输入的验证和错误处理。

