吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1784|回复: 8
收起左侧

[已解决] C语言字符串数组问题

[复制链接]
鬼魅王子 发表于 2019-10-27 17:22
[C] 纯文本查看 复制代码
#include <stdio.h>
#include <string.h>
int main()
{
	char a[101];
	int i,j; 
	printf("输入一串字符串:\n");
	gets(a);
	j=strlen(a);
	for(i=0;i<=j-1;i++)
	{
		if(a[i]>=49 && a[i]<=57)
		{
			a[i]--;
		}else if(a[i]=48)
		{
			a[i]=57;
		}
	}
	puts(a);
	return 0;
} 

题目:从键盘输入一个字符串,将该字符串中的’1’~’9’转换成比它小1的数字字符,’0’转换成’9’
如abc1230098efg
变成 abc0129987efg
我这个数字变形解决了但是为什么 字符串全变成9了?

免费评分

参与人数 2吾爱币 +2 热心值 +1 收起 理由
金陵十三钗 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
小美超 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

不灭咒痕 发表于 2019-10-27 17:37
}else if(a[i]=48)   这一句,应该是==而不是=,建议判断的时候,常量写左边,比如48 == a[i],就不会出错了,因为常量不能被赋值

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
金陵十三钗 + 1 用心讨论,共获提升!
鬼魅王子 + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| 鬼魅王子 发表于 2019-10-27 17:37
不灭咒痕 发表于 2019-10-27 17:37
}else if(a=48)   这一句,应该是==而不是=,建议判断的时候,常量写左边,比如48 == a,就不会出错了,因 ...

哦,谢谢,啊,又犯了低级错误
小可爱~ 发表于 2019-10-27 18:17
[C] 纯文本查看 复制代码
else if(48=a[i])


这样不是更好么??? 直接报错了
 楼主| 鬼魅王子 发表于 2019-10-27 18:22
小可爱~ 发表于 2019-10-27 18:17
这样不是更好么??? 直接报错了

我的错误是 把==写成=
好剑者 发表于 2019-10-27 19:02
厉害了,楼主,赞一个!
Ly_轮回 发表于 2019-10-27 20:04
不灭咒痕 发表于 2019-10-27 17:37
}else if(a=48)   这一句,应该是==而不是=,建议判断的时候,常量写左边,比如48 == a,就不会出错了,因 ...

感谢大佬,学到了
小可爱~ 发表于 2019-10-27 21:48
鬼魅王子 发表于 2019-10-27 18:22
我的错误是 把==写成=

你没理解我的意思, 把常量放在 == 左边进行对比的话, 编译器在编辑的时候你就发现错误了
 楼主| 鬼魅王子 发表于 2019-10-27 23:14
小可爱~ 发表于 2019-10-27 21:48
你没理解我的意思, 把常量放在 == 左边进行对比的话, 编译器在编辑的时候你就发现错误了

哦,谢谢大佬,理解了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 00:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表