/*--------------------------------------------------------- 功能:用指针实现一维数组的输入,并统计其中偶数和奇数的个数。 ----------------------------------------------------------*/ #include<stdio.h> void main() { int a[20],i,nl,even=0,odd=0,*p=a; printf("请输入整数的个数"); scanf("%d",&nl); printf("本程序输入的整数个数是:%d\n", nl); for(i=0;i<nl;i++) /**************ERROR***************/ scanf("%d",*(p+i)); /*等价于scanf("%d", &a[i]); */ for(i=0;i<nl;i++,p++) { /**************ERROR***************/ if(p%2==0) even++; else odd++; } printf("本程序输入的整数中有%d个偶数和%d个奇数", even,odd); }
时间: 2023-07-23 08:20:36 浏览: 51
在第13行和第16行中,scanf函数的参数应该是&p[i],而不是*(p+i),因为scanf函数需要传入一个指向变量地址的指针,而&p[i]是a数组中第i个元素的地址,与*(p+i)是不同的。同时,在第19行中,应该用*p代替p,因为p是一个指针,需要使用*p来访问它所指向的变量。修改后的代码如下:
```
/*---------------------------------------------------------
功能:用指针实现一维数组的输入,并统计其中偶数和奇数的个数。
----------------------------------------------------------*/
#include<stdio.h>
void main()
{
int a[20],i,nl,even=0,odd=0,*p=a;
printf("请输入整数的个数");
scanf("%d",&nl);
printf("本程序输入的整数个数是:%d\n", nl);
for(i=0;i<nl;i++)
scanf("%d",&p[i]); /*等价于scanf("%d", &a[i]); */
for(i=0;i<nl;i++,p++)
{
if(*p%2==0) even++;
else odd++;
}
printf("本程序输入的整数中有%d个偶数和%d个奇数", even,odd);
}
```
相关问题
pyinstaller: error: unrecognized arguments: --add-dateimages/*;video/*;music/*-F
看起来你在命令行中使用了 `--add-date` 而不是正确的 `--add-data` 参数。请将命令中的 `--add-date` 修改为 `--add-data`,并且将参数值中的 `date` 改为正确的 `data`,如下所示:
```
pyinstaller --add-data "images/*;video/*;music/*" -F your_script_name.py
```
这个命令将会把 `images`、`video` 和 `music` 文件夹中的所有文件都打包到可执行文件中。`-F` 参数表示将所有依赖项都打包到一个单独的可执行文件中。
请注意,在命令行中使用 `--add-data` 参数时,需要将参数值用双引号括起来,并在路径中使用正斜杠(`/`)而不是反斜杠(`\`),否则 Windows 可能无法正确解析路径。
我想补齐每一行对称的-代码该怎么写--* -*** ***** -*** --*
以下是补齐每一行对称的代码:
```python
n = 5
for i in range(n):
if i < n//2:
print('-'*(n//2-i) + '*'*(2*i+1) + '-'*(n//2-i))
else:
print('-'*(i-n//2) + '*'*(2*(n-i)-1) + '-'*(i-n//2))
```
输出结果为:
```
--*--
-***-
*****
-***-
--*--
```