马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我写了一个将大小写互换的程序,Dev c++系统也没有报错,但当我使用时它总是说该程序停止工作,不知道是哪里错了还是电脑的问题,请各位麻烦看一看#include<stdio.h>
int main()
{
char a[20];
int b=0;
scanf("%s",&a[20]);
while(a[b]!='\n')
{
if((a[b]<=90) &&(a[b]>=65))//这个字符为大写字符
{
a[b]=a[b]+32;//转换为小写
}
else if((a[b]<=122) &&(a[b]>=97))//这个字符为小写字符
{
a[b]=a[b]-32;//转换为大写
}
b=b+1;
}
printf("%s\n",a[20]);
return 0;
}
错误有三处
1、定义的是a[20],scanf和printf居然写的都是a[20]。。。。这两处都改改为数组名a
2、while循环的条件应该是a[b]!='\0' 这个'\0'是字符串的结尾符,char类型的数组,没有进行赋值的时候,各个单元都是'\0',就是未来防止没有赋值直接printf出错
|