初学 if() 与 swith() 语句中的%c,%d易错点

//if 语句中的易错点*


```c
int add=0; 																printf("1:让60秒后电脑关机\n");
add++;																	printf("2:取消关机\n");
if (add==5) {	/*易错写成	if (add='5')	*/							printf("请选择:\n");
	printf("输入错误次数超过5次!请30秒后在输入");							scanf("%c",&c);
	exit(3);															if (c=='1')  {//易错写成	if (c==2) 
}																				printf("关机");															
printf("账号或密码错误!请重新输入\n")`											system("shutdown -s -t 60");
continue;																}
	**int 类型的 不用加' '								char 类型的要加 ' '**
	
			

```c
								

## 								*//swich语句中的易错点*

	printf("1:端口管理\n");											printf("1:端口管理\n");
	printf("2:退出\n");												printf("2:退出\n");
	printf("请选择:");												printf("请选择:");
	scanf("%c",&c);													scanf("%d",&d);							
switch (c) {														switch (d) {
	case '1':/*易错写成 case 1:*/									case 1://易错写成 case '1':
		port_admin(ports);/*4.端口管理	*/								port_admin(ports);
		break;															break;
	case '2':/*易错写成 case 2:*/									case 2://易错写成 case '2':
		logout();//6.退出												logout();
		break;															break;
	default:														default:
	input_error();											-----------
		system("cls");
		exit(1);
		continue;
	}		
	-------------------------------------------
	printf("请选择:");
	fflush(stdin);
	scanf("%c",&c);
	scanf("%c",&n);
	if(c>='0' && c<='9') {
		int temp = 0;
		int tmp =0;
		temp = c - '0'; **//此时temp 为一个数值 而不是字符**
		tmp = n - '0';
		if(temp == 1) {
			printf("您选择的是1\n");
			return ;								
		}
	}		

总结:如下图,字符A的十进制是65,而字符0的十进制是48,字符型的0与整形的0并不一样,这也是初学时易混淆的一个点

ascall表中的一部分ascall表中的一部分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值