C语言字符串数组问题
#include <stdio.h>#include <string.h>
int main()
{
char a;
int i,j;
printf("输入一串字符串:\n");
gets(a);
j=strlen(a);
for(i=0;i<=j-1;i++)
{
if(a>=49 && a<=57)
{
a--;
}else if(a=48)
{
a=57;
}
}
puts(a);
return 0;
}
题目:从键盘输入一个字符串,将该字符串中的’1’~’9’转换成比它小1的数字字符,’0’转换成’9’。
如abc1230098efg
变成 abc0129987efg
我这个数字变形解决了但是为什么 字符串全变成9了?
}else if(a=48) 这一句,应该是==而不是=,建议判断的时候,常量写左边,比如48 == a,就不会出错了,因为常量不能被赋值 不灭咒痕 发表于 2019-10-27 17:37
}else if(a=48) 这一句,应该是==而不是=,建议判断的时候,常量写左边,比如48 == a,就不会出错了,因 ...
哦,谢谢,啊,又犯了低级错误 else if(48=a)
这样不是更好么??? 直接报错了 小可爱~ 发表于 2019-10-27 18:17
这样不是更好么??? 直接报错了
我的错误是 把==写成= 厉害了,楼主,赞一个!{:301_1003:} 不灭咒痕 发表于 2019-10-27 17:37
}else if(a=48) 这一句,应该是==而不是=,建议判断的时候,常量写左边,比如48 == a,就不会出错了,因 ...
感谢大佬,学到了 鬼魅王子 发表于 2019-10-27 18:22
我的错误是 把==写成=
你没理解我的意思, 把常量放在 == 左边进行对比的话, 编译器在编辑的时候你就发现错误了 小可爱~ 发表于 2019-10-27 21:48
你没理解我的意思, 把常量放在 == 左边进行对比的话, 编译器在编辑的时候你就发现错误了
哦,谢谢大佬,理解了
页:
[1]