我让我的代码的一部分被跳过,当用户选择zerio时我会去,如果选择0然后执行此操作,但它只是完全跳过它
if (select = 0)
{
for ( i = 0; i < 20; ++i)
printf("%d", array[i]);
//// whenever I enter zero it skips over this if entirely
}
另外,当我尝试调用一个函数并打印它时,我不断得到它必须有一个指向对象类型的指针
if (select = 1)
{
square(array, 20);
for( j = 0; j < 20; ++j);
printf("%d", a[j]);
//the j reads that I need a pointer-to-object type
}
这是我的完整代码。这是一个旧的任务,我正在尝试重新学习东西
#include<stdio.h>
#include<conio.h>
void initialize(int a[], int size)
{
int i;
}
void square(int a[], int size)
{
int j;
for( j = 0; j < size; ++j)
a[j] = a[j] * a[j];
}
int main (void)
{
int array[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,19};
int i,j,k,l,m, select, a, size;
void initialize ( int a[], int size);
void square ( int a[], int size);
printf("Please select an option from the form \n\n 0 - initialize \n\n 1 - square \n\n 2 ");
scanf("%d", &select);
if (select = 0)
{
for ( i = 0; i < 20; ++i)
printf("%d", array[i]);
//// whenever I enter zero it skips over this if entirely
}
if (select = 1)
{
square(array, 20);
for( j = 0; j < 20; ++j);
printf("%d", a[j]);
//the j reads that I need a pointer-to-object type
}
}
答案 0 :(得分:1)
=
是赋值运算符。使用==
进行比较。
在您询问的第二个错误中,a
被声明为main()
函数中的整数:
int i,j,k,l,m, select, a, size;
您可能打算在该printf语句中使用array
而不是a
。
答案 1 :(得分:0)
运营商=
用于分配。
运营商==
用于比较。