|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
第一个.c文件的内容如下
#include<stdio.h>
int main()
{
int i;
char j;
float k;
double l;
i = 1;
printf("size of int is %d\n", sizeof(i));
printf("size of int is %d\n", sizeof(int));
printf("size of char is %d\n", sizeof(j));
printf("size of char is %d\n", sizeof(char));
printf("size of float is %d\n", sizeof(k));
printf("size of float is %d\n", sizeof(float));
printf("size of double is %d\n", sizeof(l));
printf("size of double is %d\n", sizeof(double));
printf("%d\n", ++i);
printf("%d\n", i);
return 0;
}
第二个.c文件内容如下
#include<stdio.h>
int main()
{
short i;
unsigned short j;
i = -1;
j = -1;
printf("%d\n", i); /*本质还是short int所以用%d*/
printf("%u\n", j); /*无字符型使用%作为地址标识符*/
return 0;
}
现在对第二个文件进行调试,但是只显示第一个文件的运行结果,虚心求教,请各位前辈不吝赐教。
鱼油你好,问题在于 一个C程序只能有一个main函数。你现在的工程里有两个.c文件,而它们各自都写了main函数,这会让链接器无法确定真正的程序入口,所以调试时很可能只认第一个main,或者编译/调试行为变得不符合预期。
想调试第二个文件,建议这样做:
- 单独为第二个.c文件新建一个项目,不要把两个带main的文件放在同一个工程里。
- 如果非要在同一个工程里调试,请把其他文件的main函数暂时改名或注释掉,只保留当前要调试的那一个入口。
比如要调试第二个文件时,可以这样暂时屏蔽第一个main:
- #include <stdio.h>
- #if 0
- int main()
- {
- int i;
- char j;
- float k;
- double l;
- i = 1;
- printf("size of int is %d\n", sizeof(i));
- printf("size of int is %d\n", sizeof(int));
- printf("size of char is %d\n", sizeof(j));
- printf("size of char is %d\n", sizeof(char));
- printf("size of float is %d\n", sizeof(k));
- printf("size of float is %d\n", sizeof(float));
- printf("size of double is %d\n", sizeof(l));
- printf("size of double is %d\n", sizeof(double));
- printf("%d\n", ++i);
- printf("%d\n", i);
- return 0;
- }
- #endif
复制代码
这样第二个文件里的main就能作为唯一入口被调试了。
简单总结:以后写独立测试程序, 一个项目只保留一个main,每个独立的程序都单独建一个项目,就不会再遇到这种“只运行第一个文件”的情况了。如果还有其他疑问,欢迎继续交流。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
|
|