gpt4 book ai didi

c - 运行以下代码时出现错误

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

我写了一个代码,但我不知道为什么它不起作用并打印“beterek”。而且它不会经过我的 while 循环,也不会调用我的 cam 函数...请帮忙...以下代码是我的代码的一部分:

int main()
{
int a[100], b[100], diff=0, m=0, n=0, temp[100], s=0,z,max=0;
printf("Enter binary number 1: ");
scanf("%d", &a[100]);
printf("Enter binary number 2: ");
scanf("%d", &b[100]);
while(a!='\0')
m++;
while(b!='\0')
n++;
if(m>n)
{
printf("beterek");
max = m;
diff = m - n;
for(s=0; s<=diff; s++)
temp[s] = 0;

for(z=s; z<=n; z++)
temp[s] = b[s];
cal(a,temp);
}
else
{
printf("beterek");
max = n;
diff = n - m;
for(s=0; s<=diff; s++)
temp[s] = 0;

for(z=s; z<=m; z++)
temp[s] = a[s];
cal(b, temp);
}
}

最佳答案

使用 fgets 读取输入字符串,直到到达换行符(这意味着直到用户按 Enter 键)。然后将每个字符转换为int。

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

int main()
{
int a[100], b[100], diff=0, m=0, n=0, temp[100], s=0,z,max=0;
int iIndex=0;
char cString[100];
int i=0;
char* cpString=NULL;
memset(&cString,0,100);
printf("Enter binary number 1: ");
//scanf("%s",cString);
fgets(cString,sizeof(cString),stdin);
cpString=cString;
while(*cpString!='\n'){
a[iIndex]=*cpString-'0'; // this converts char to int
cpString++;
iIndex++;
}
printf("Count of elements in a : %d\n", iIndex);
for (i=0;i<iIndex;i++){
printf("%d\n",a[i]);
}
return 0;
}

输出:

Enter binary number 1: 1101010
Count of elements in a : 7
1
1
0
1
0
1
0

只需检查输入的数字是否是有效的二进制数即可!

关于c - 运行以下代码时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20322901/

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