【发布时间】:2013-12-02 07:25:15
【问题描述】:
我写了一个代码,但我不知道为什么它不起作用并打印“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);
}
}
【问题讨论】:
-
你觉得
while(a!='\0') m++;会怎么做? -
那么...你认为 sizeof 会对我的代码朋友有用吗?
-
a 和 b 是整数数组。为什么要检查
\0?\0终止字符串,也就是 char 数组而不是 int 数组! -
@hhachem 我该怎么做?
-
使用
fread将输入作为字符串获取,然后在循环中使用scanf,直到到达您读取的字符串的末尾。这样你就可以自动计算a和b的长度