【C语言】C语言学习感受(1)

在学了C语言之后,感觉发现了很多技术以外的东西……

比如说:

1.有时候代码不知道怎么就不运行了,也不知道怎么就运行了……

(下面是我最近学完字符串后写的代码)

#include<stdio.h>

int main()
{
	char a[ ][10]={ 
				"January",
				"February",
				"March",
				"April",
				"May" ,
				"June",
				"July",
				"August",
				"September",	
				"October",
				"November",
				"December",};
	int month;
	scanf("%d",&month);
	if(month>=1&&month<=12){
	printf("This month is %s.\n",a[month-1]);
	}
	
	return 0;
}

  二维字符串数组,挺正常的吧?

(我第一遍写的是这个代码……)

#include<stdio.h>

int main()
{
	char *a[ ][10]={ 
				"January",
				"February",
				"March",
				"April",
				"May" ,
				"June",
				"July",
				"August",
				"September",	
				"October",
				"November",
				"December",};
	int month;
	scanf("%d",&month);
	if(month>=1&&month<=12){
	printf("This month is %s.\n",a[month-1]);
	}
	
	return 0;
}

几乎一模一样,是吧?

char *A中的*坏事了!

我一开始还不知道,后来大佬告诉我:我把二维字符串数组写成了二维指针数组,而每一个指针指向一个字符串。

后面我改了一下……

#include<stdio.h>

int main()
{
	char *a[ ][10]={ 
				"January",
				"February",
				"March",
				"April",
				"May" ,
				"June",
				"July",
				"August",
				"September",	
				"October",
				"November",
				"December",};
	int month;
	scanf("%d",&month);
	if(month>=1&&month<=12){
	printf("This month is %s.\n",*a[month-1]);
	}
	
	return 0;
}

我对printf里面的指针a进行了解引用*(这个概念也是大佬教的,C语言基础课程里面没有教‘解引用’这个概念)。

2.基础扣得很细。

我类型转换里面概念比较多,过的比较快,所以……

(昨天我写了一个代码……)

#include<stdio.h>

int main()
{
	int a,b;
	scanf("%d %d",&a,&b);
	printf("%d是%d的%.2f%",a,b,(double)a/b*100.0);
	
	return 0;
} 

结果百分号输出不了……

后来询问大佬才知道,特殊字符的输出需要转义……(我学过吗???)

于是改了一下……

#include<stdio.h>

int main()
{
	int a,b;
	scanf("%d %d",&a,&b);
	printf("%d是%d的%.2f%%",a,b,(double)a/b*100.0);
	
	return 0;
} 

将%改为%%,舒心多了。

感觉大佬也会回头多看基础教程。

之后大佬给我分享了一个东西,叫《提问的智慧》……

电子入坑百科全书 - Emoe-Studio

(据说是学长搞的……)

好累啊,不写了!!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Takenforgranted

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值