今天晚上还有高手吗?

来源:百度知道 编辑:UC知道 时间:2024/07/05 05:42:49
#include <stdio.h>
void main()
{
int sar[10]={1,2,3,4,5,6,7,8,9,10},t;
for(t=1;t<10;t+=2)
{
printf("%d\n"sar[t])
}
}
有什么问题?
我是想输出奇数位地数,,怎么还有错哦??

#include <stdio.h>
void main()
{
int sar[10]={1,2,3,4,5,6,7,8,9,10},t;
for(t=0;t<10;t+=2)
{
printf("%d\n"sar[t]);
}
}
现在看看可以了不,在C语言里,数组的下标是从0开始的,也就是说此例中的sar[0]为数组的第一位即:sar[0]=1。
所以你在输出的时候要从0开始
但是如果你想输出a[1]a[3]a[5]a[7]a[9]的话,你的程序是没有错误的。

数组的索引是从0开始的

改成
for(t = 0;t<10;t+=2)

晕,t=1时,对应的是sar[1]=2,你将t=0。
C数组的起始是0,不是1.

c语言数组下标是从0开始, 你循环里的的第一个循环 sar[t] = sar[1] = 2, 2在你的数组里面是在偶数位, 知道不?

for () 改成这样:

for (t = 0; t < 10; t += 2)

楼主没说清楚,你说的“奇数位”指的是什么?

我理解的是按索引的奇偶,那么楼主的程序逻辑上应该没错。

楼主的程序语法上的错是,

printf("%d\n"sar[t])

改为
printf("%d\n",sar[t]);

for 循环中,一开始 t=1, 打印出的是sar[1],而数组第一个元素表示法是
sar[0],你把for循环改成for(t=0;t<10;t+=2)看下,个人理解仅供参考.