gpt4 book ai didi

c - 如何制作一个整数数组,其中每个数组位置都是我的号码的一个数字?

转载 作者:行者123 更新时间:2023-11-30 15:21:55 25 4
gpt4 key购买 nike

所以我想做的是一个小程序,用户输入一个二进制数(即 1010010100111000001),然后将其存储在一个数组中,其中每个数组位置与我的数字的一个数字相关联。示例:bit[0] = 1、bit[1] = 0 等。我想到的代码是这样的,但我不相信它有效:

int bit [31];
scanf("%i", bit);

请帮忙!

最佳答案

主要问题是如何确保用户输入有效的二进制数,即只能是 0 和 1。您可以尝试逐字符读取输入,并使用标准 sscanf 格式检查输入是否有效:%[01]。您还应该将输入的大小限制为单个字符。因此最终的格式是:%1[01]

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[]) {
int bits[31];
char input[2];
int i;
int j;

fprintf(stdout, "Enter at most 31 bits: ");
for(i=0; i<31 && 1 == fscanf(stdin, "%1[01]", input); ++i)
bits[i] = (input[0]=='1' ? 1 : 0);

fprintf(stdout, "You entered: \n");
for(j=0; j<i; ++j)
fputc(bits[j]?'1':'0', stdout);
fprintf(stdout, "\n");
return 0;
}

关于c - 如何制作一个整数数组,其中每个数组位置都是我的号码的一个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29432565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com