例如:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
int a[10]={1,2,3,4,5};
int len= sizeof(a)/sizeof(a[0]);
return 0;
} 这个返回的是10 ,而我想要的是这个返回5 !!
参考代码如下:
#include
int main(void)
{
int a[10]={1,2,3,4,5};
int i,len=sizeof(a)/sizeof(int);
for(i=len-1;i>=0;i--)
if(a[i]!=0)break;
printf("%d",i+1);
return 0;
}
int a[10]={0,1,2,3,4,5,0};这样就不对了
追答除非你设个变量n,记录有效数值的个数。
本回答被提问者采纳第一种如果 a[10]={0,1,2,3,4,5,0}就会错误,
第二种
#include
int main(void)
{
int a[];
int i=0;
scanf("%d",&i);
for(int j=0;j<i;j++)
a[j]=j;
printf("%d",i);
return 0;
}如何循环赋值啊 ,我也不知道赋值多少个, i不确定;
首先声明一个变量i=0,使用while (a[i] != '\0'),不用事先知道数组的长度,每定义一个数组都是以‘\0'结尾,只要到\0循环就自动结束。