二级考试C语言程序题没有把debug改为release运行不出会有分吗

二级考试C语言程序题没有把debug改为release运行不出会有分吗,第1张

第一个问题正如你所说的,第二个问题debug与release的区别就是debug版本里面会有很多的调试信息,因此生成的程序会比较大,而release的程序里面就没有那些调试信息,因此就比较小,因此也不好调试

关键在于你申明的变量没有进行初始化,也就说这句:

AAA a[10];

这时,变量A里面各个结构体的成员变量取值都是不确定,因此你可以看见debug版本和release版本打印出来的值是不同的。

注意:VC编译的debug版本程序,会为没有初始化的变量用特定的值来填充(参考这里:>

redhat系统可直接从文件中读取:cat /etc/redhat-release

windows:

GetUserName(LPWSTR lpBuffer, LPDWORD nSize);

lpBuffer是一个数组的地址,用来存贮得到的用户名,nsize是个指针,指向此存贮此数组大小的单元,就是数组能存贮的字符数量

GetVersionExW(LPOSVERSIONINFOW);

参数LPOSVERSIONINFO是一个指向OSVERSIONINFO类型变量的指针,

具体判断代码如下

定义 OSVERSIONINFO osvi;

然后调用函数取得版本号,判断如下

switch (osvidwPlatformId)

{

case VER_PLATFORM_WIN32_NT:

if (osvidwMajorVersion == 5&&osvidwMinorVersion == 0)

{

strOSVersion = TEXT("Windows 2000");

}

else if (osvidwMajorVersion == 5&&osvidwMinorVersion == 1)

{

strOSVersion = TEXT("Windows XP");

}

else if(osvidwMajorVersion == 6&&osvidwMinorVersion == 0)

{

strOSVersion = TEXT("Windows Vista");

}

else if (osvidwMajorVersion == 4&&osvidwMinorVersion == 0)

{

strOSVersion = TEXT("Windows NT");

}

break;

case VER_PLATFORM_WIN32_WINDOWS:

if (osvidwMajorVersion == 4&&osvidwMinorVersion == 10)

{

strOSVersion = TEXT("Windows 98");

}

else if (osvidwMajorVersion == 4&&osvidwMinorVersion == 90)

{

strOSVersion = TEXT("Windows ME");

}

else

{

strOSVersion = TEXT("Windows 95");

}

break;

default:

break;

}

新建一个工程就看得到了

不是什么选项卡,你看看有没有一个“配置”的文本右边是一个下拉框,写着“活动(Debug)”的,你改成Release,确认就可以了。

至于默认值是没办法改的,你每新建一个工程就得改一次,但是改过以后就不用了

release有什么好的,经过优化的代码可能导致出错,又不能调试,那是在做最后发布版本的时候才用到的,一般都用debug啊

以上就是关于二级考试C语言程序题没有把debug改为release运行不出会有分吗全部的内容,包括:二级考试C语言程序题没有把debug改为release运行不出会有分吗、C++ Debug版本和Release版本运行结果不同,为什么会这样、如何用C语言获取主机 *** 作系统的版本号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10141108.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存