curl i参数详解:什么地方错了

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 09:39:33
看看这个程序:
#include<stdio.h>
#define MAX_LEN 10
char *LowerCase(char *s);

int main()
{
char str[MAX_LEN];
printf("Enter a string:");
scanf("%s",str);
printf("Lowercase:%s\n",LowerCase(str));
}
char *LowerCase(char *s){
char newStr[MAX_LEN];
int index;
for(index=0;index<=MAX_LEN;index++){
if('A'<=s[index]&&s[index]<='Z')
newStr[index]=s[index]+('a'-'A');
else
newStr[index]=s[index];
}
return newStr;

}
它要把一串字符转化为小写形式。

楼上的可能也有问题,必须给str最后一个\0字符留出空间。另外,LowerCase里面只要到s[index] = 0的时候就可以退出了。
#include<stdio.h>
#define MAX_LEN 10
char *LowerCase(char *s,char *t);

int main()
{
char str[MAX_LEN];
char newStr[MAX_LEN];
printf("Enter a string:");
scanf("%s",str);
printf("Lowercase:%s\n",LowerCase(str,newStr));
return 1;
}
char *LowerCase(char *s,char *t){

int index;
for(index=0;index<MAX_LEN-1;index++)//这里最好这样
{
if(s[index] == '\0') break;//这里加一句
if('A'<=s[index]&&s[index]<='Z')
t[index]=s[index]+('a'-'A');
else
t[index]=s[index];
}
return t;
}

#include<stdio.h>
#define MAX_LEN 10
char *LowerCase(char *s,char *t);

int main()
{
char str[MAX_LEN];
char newStr[MAX_LEN];
printf("Enter a string:");
scanf("%s",str);
printf("Lowercase:%s\n",LowerCase(str,newStr));
return 1;
}
char *LowerCase(char *s,char *t){

int index;
for(index=0;index<MAX_LEN;index++)
{
if('A'<=s[index]&&s[index]<='Z')
t[index]=s[index]+('a'-'A');
else
t[index]=s[index];
}
return t;
}
你开始返回的是函数内部申请的,改成这样就搞定了