C语言中向一个函数传递一个数组,函数中定义一个指针变量,请问这个指针变量在for循环中要怎么使用?
#include<stdio.h>voidfun(char*s){inti;for(;*s;s++){if(*s>='a'&&*s<='z'||*s>='A'&&*s<=...
#include <stdio.h>
void fun(char * s)
{
int i;
for (;*s;s++)
{
if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')
i++;
}
printf("%d",i);
}
int main(void)
{
char a[10]={9238vdsjsw};
fun(a,10);
return 0;
} 展开
void fun(char * s)
{
int i;
for (;*s;s++)
{
if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')
i++;
}
printf("%d",i);
}
int main(void)
{
char a[10]={9238vdsjsw};
fun(a,10);
return 0;
} 展开
5个回答
展开全部
指针传递到函数后,函数可以像用数组一样使用它,比如你传入的是int *a,如果数组大小为n,那么就可以
for(int i=0;i<n;i++)
dd = a[i];
来访问数组中的元素值了!
for(int i=0;i<n;i++)
dd = a[i];
来访问数组中的元素值了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void
fun(a,10)
将数组a的首地址赋给指针s
{
int
i;
i
计的是这数组中有几个字母
for
(;*s;s++)
每循环一次,s后移一位,判断结束循环的条件s指向的内容为"
\0
"
{
if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')
i++;
}
fun(a,10)
将数组a的首地址赋给指针s
{
int
i;
i
计的是这数组中有几个字母
for
(;*s;s++)
每循环一次,s后移一位,判断结束循环的条件s指向的内容为"
\0
"
{
if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')
i++;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void fun(a,10) 将数组a的首地址赋给指针s
{
int i; i 计的是这数组中有几个字母
for (;*s;s++) 每循环一次,s后移一位,判断结束循环的条件s指向的内容为" \0 "
{
if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')
i++;
}
{
int i; i 计的是这数组中有几个字母
for (;*s;s++) 每循环一次,s后移一位,判断结束循环的条件s指向的内容为" \0 "
{
if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')
i++;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-12-05
展开全部
给你写了一个例子:
#include "stdio.h"
void printArr(int *p,int n)
{
int i=0;
for(i=0;i<n;i++)
printf("%d ",*(p+i));
}
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
printArr(a,10);
}
#include "stdio.h"
void printArr(int *p,int n)
{
int i=0;
for(i=0;i<n;i++)
printf("%d ",*(p+i));
}
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
printArr(a,10);
}
追问
麻烦您讲一下补充的那个例子,尤其是for循环那块
追答
for(i=0;i<n;i++)
printf("%d ",*(p+i));
printArr(a,10);//在main函数中这样调用时,将数组的首地址(也就是数组名)a传递给void printArr(int *p,int n),在函数printArr中,使用指针p指向数组首地址
在for循环里,通过下标偏移的方式访问,例如*(p+i)也就等于p[i]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
传递数组的时候,要顺便传递那个数组的大小的(元素个数)。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询