在 VS2013 中使用 scanf 输出函数时,编译会报错,提示我们使用scanf_s等相应的函数,虽然这种方法更有利于程序的安全,但很多时候很不方便,不利于代码的移植。
我们可以采取更好的方法:
1)添加预处理#pragma warning(disable:4996)
忽视该警告
2)添加预处理#define _CRT_SECURE_NO_WARNINGS
一般情况使用 VS2013 编译运行C语言代码时,可执行窗口会闪退从而看不见结果,如果不想让其消失,需程序中添加:system("pause");
system()就是调用(DOS)系统命令(和shell命令);
pause ,即DOS命令集合中的暂停命令;
注意:使用该语句需调用头文件#include
//Eg1:
#include
#include
#pragma warning(disable:4996)
int main()
{
int a = 0;
printf("请输入执行操作:1、hello world 2、exit\n");
scanf("%d", &a);
if (a == 1)
printf("hello world!\n");
else
exit;
system("pause");
return 0;
}
C语言的字符数据类型(char)占一个字节,其本质是整型;
C语言存在字符串,但没有字符串类型!
即不能直接定义字符串变量:string str = ''abcd'';//错误!
C语言间接定义字符串:通过数组char str[] = ''abcd'';
或char *str = ''abcd'';
指针保存;
字符串的大小(带’\0’)与长度(不带’\0’)是两个不同的概念;
通过 sizeof(按位求长度操作符)可以求出字符串大小:sizeof(str);
通过 strlen 函数(该函数识别到’\0’停止计数)可以求出字符串长度;
所以从终端输入或从终端显示的内容都是字符;即当需要输入数字1234时,用户从键盘输入的是字符 1 2 3 4,通过 scanf 函数格式转换,printf 亦然。
#define MAX 100
用MAX替换100#define ADD(x,y) ((x)+(y))
用ADD(2,3)替换2+3(替换过程不进行计算)extern int g_val;
声明变量extern void test();
声明函数