马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 18135437048 于 2022-4-16 12:58 编辑 #include<stdio.h>
int sum(char* arr){
int sum=0;
printf("%d\n",*arr);
printf("%d\n",arr[0]);
for(int i=0;arr[i]!='\0';i++){//============问题 arr[i]!='\0' c字符串的结束标志不是\0
sum+=*arr;
++arr;
}
return sum;
}
int main(){
char arr[3]={'31','32','33'};
int len=sizeof(arr)/sizeof(char);
int result=sum(arr);
printf("%d",result);
getchar();
}
这样为什么不行
数组length的传递
c语言的痛:传数组必须传len,我想用str \0试试
#include<stdio.h>
int sum(int* arr,int length)
{
int sum=0;
printf("%d\n",*arr);
printf("%d\n",arr[0]);
for(int i=0; i<length; i++)
{
sum+=arr[i];
}
return sum;
}
int main()
{
int arr[3]= {31,32,33};
int len=sizeof(arr)/sizeof(char);
int result=sum(arr,3);
printf("%d",result);
getchar();
}
不知道你想实现什么功能,这个是实现数组累加的代码,不知道你是不是要实现这个功能。
|