1.DOS中有无@符号的区别
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> void main() { int num = 5; char str[50]; //有@符号时隐式执行,只有结果没有过程 sprintf(str,"for /l %%i in (1,1,%d) do @calc",num); //无@时显示执行,有过程有结果 //sprintf(str, "for /l %%i in (1,1,%d) do start calc", num); system(str); getchar(); }
2.变量没有初始化也不会提示错误,但是内存中会存在垃圾数据,此时变量会指向一个垃圾数据。
3.常量的两种方式
1.#define PI 3.1415927
此种情况不可以&PI取地址,不能修改值
2.const int num=10
此种情况可以取地址,程序内部不可修改值,但是程序外部可以修改值。
4.代码混淆
#define 返回值为空 void #define 主函数 main #define 小括号 () #define 左大括号 { #define 右大括号 } #define 打印 printf #define 等等 getchar(); #include<stdio.h> 返回值为空 主函数() 左大括号 打印("hello china"); 等等 右大括号
5.用MFC自己编写IDE
一、项目创建
项目创建完成
运行程序结果并在其中写入代码
保存为1.c,打开文件时多出了很多代码
打开源文件中的XXXDoc.cpp文件,将注释的CRichEditDoc::m_bRTF = FALSE;添加其中,再次运行,写入代码并打开,此时代码正常。
二、解决编译和运行
先添加一个分类选项卡,再添加编译和运行按钮,在按钮对应的事件中写入代码
复制VS2013 X86本机工具命令提示的路径
在事件中写入代码
#include<stdlib.h>
//此为刚才复制的代码,为了不操作vcvarsall.bat原文件,拷贝此文件并命名为vcvarsallA.bat
system("%comspec% /k \"\"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\vcvarsallA.bat\"\"");
system("pause");
找到vcvarsall.bat文件并拷贝,在vcvarsallA.bat并在其中加入代码
cd C:\Users\Administrator\Desktop
cl 1.c
1.exe
搞定,运行
时间: 2024-10-09 12:18:15