c语言程序纠错
发布网友
发布时间:2023-07-12 04:57
我来回答
共3个回答
热心网友
时间:2024-11-15 17:46
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char a[20]=""; //
int i=0;
void in()
{
printf("Please input a string no more than 20\n");
gets(a);
}
void lth()
{
char *p=a; //初始化有问题
while(*(p+i)!='\0')
{
if(*(p+i)<=122&&*(p+i)>=97)
{
*(p+i)=*(p+i)-32;
}
i++;
}
}
int main()
{
in();//输入字符串,存入数组
lth();//小写变成大写
puts(a);
strrev(a);//倒叙
puts(a);//输出
system("pause");
return 0;
}
追问喔 编译通过了 但是我看到有人用
NULL初始化 请问是什么意思 什么时候才能用
追答viod *p=NULL; //空指针才可以这样初始化
热心网友
时间:2024-11-15 17:46
这个函数就是实现把小写字母改成大写字母的功能对吧。我试了一下,就Ith()函数里面第一行和第二行有点问题,可以把这两行合并直接写成:char *p=a;
最终程序如下:
#include <stdio.h>
#include <stdlib.h>
char a[20]= {0};
int i=0;
void in()
{
printf("Please input a string no more than 20\n");
gets(a);
}
void lth()
{
char *p=a;
while(*(p+i)!='\0')
{
if(*(p+i)<=122&&*(p+i)>=97)
{
*(p+i)=*(p+i)-32;
}
i++;
}
}
int main()
{
in();//输入字符串,存入数组
lth();//小写变成大写
puts(a);
//nway()//倒叙输出
system("pause");
return 0;
}追问喔 编译通过了 但是我看到有人用
NULL初始化 请问是什么意思 什么时候才能用
热心网友
时间:2024-11-15 17:47
/*
Please input a string no more than 80:
123zxcPoiUyTrE
123ZXCPOIUYTRE
Press any key to continue
*/
#include <stdio.h>
#include <stdlib.h>
char *in(char s[]) {
printf("Please input a string no more than 80:\n");
gets(s);
return s;
}
void lth(char s[]) {
char *p = s;
int i = 0;
while(*(p + i)) {
if(*(p + i) >= 'a' && *(p + i) <= 'z')
*(p + i) = *(p + i) - 'a' + 'A';
i++;
}
}
int main() {
char s[80];
in(s);//输入字符串,存入数组
lth(s);//小写变成大写
puts(s);
//nway()//倒叙输出
//system("pause");
return 0;
}