现在,我正在ProjectEuler.net上做一些问题,这是我为问题#4编写的代码:#include#include#include#include#include#include#includeintisPalindrome(intnum){intlength=floor(log10(abs(num)))+1;intindex=0;intfirstChar,lastChar;while(index99;x--){for(y=999;y>99;y--){if(isPalindrome(x*y)&&x*y>result){result=x*y;printf("Foundpalindro
我想找出为什么在Windows中对同一程序的指令比在Linux中多得多。所以我只用了inta=0xbeef;和printf("test\n");在C中并在Linux和Windows中编译。当我调试和反汇编主机时,我得到了这个:在Linux上:0x080483e4:push%ebp0x080483e5:mov%esp,%ebp0x080483e7:and$0xfffffff0,%esp0x080483ea:sub$0x20,%esp0x080483ed:movl$0xbeef,0x1c(%esp)0x080483f5:movl$0x80484d0,(%esp)0x080483fc:cal
我有一个bat文件,用于检查23:00时间和23:00之后要执行的一些进一步步骤的开始。在10:00AM之后开始的批处理确实有效。但是同样的bat在09:00AM运行时不起作用并抛出如下错误:Invalidnumber.Numericconstantsareeitherdecimal(17),hexadecimal(0x11),oroctal(021).我观察到这个bat文件只在两位数小时内工作,而不是个位数小时,例如1,2,3,4,5,6,7,8,9.代码:@For/F"tokens=1,2,3,4delims=/-:"%%Ain('time/t')do@(SetHour=%%ASe
我已经测试了以下C代码#includeintmain(){FILE*file=fopen("ans.txt","r+");printf("%ld",ftell(file));//prints0fgetc(file);printf("%ld",ftell(file));//prints-18printf("%d",fseek(file,0,SEEK_CUR));//-1printf("%ld",ftell(file));//prints150fclose(file);return0;}在win10上使用MinGW-W64(gcc版本7.1.0(x86_64-posix-seh-rev0,
也许我今天起得太久了,但我不明白为什么会这样:intmain(){structemf_struct{longnum;char*str;doublereal;};structemf_structemf[10];emf[1].real=4.5;emf[1].str="Thisisastring";emf[1].num=1234567890;printf("%d-%s-%f\n",emf[1].num,emf[1].str,emf[1].real);return(0);}在Microsoft下编译时(只是cl文件名),输出为:1234567890-这是一个字符串-4.500000如果结构使用
这个问题在这里已经有了答案:Whatistheeffectofextern"C"inC++?(17个答案)WhatarethedifferentcallingconventionsinC/C++andwhatdoeachmean?(6个答案)关闭3年前。标题确实准确描述了我的问题。extern"C"intfoo(intbar){returnbar;}从我一直在测试的情况来看,它似乎不是__cdecl、__stdcall、__fastcall,显然也不是__thiscall。什么是约定及其运作方式?谢谢。
这是我为有用的休息事件制作的自助程序。最后需要输入一个数字,然后按“回车”重新启动。我宁愿只输入任何内容或任何数字。#include#includemain(){inti;srand((unsigned)time(NULL));i=rand();intk;k=(int)i%22;printf("\n\n");switch(k){case0:printf("%\tWeather");printf("weather");break;case1:printf("\tHandexercisesok");break;case2:printf("\tBRbreak");break;//etcetc
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:WhyisaC/C++“HelloWorld”inthekilobytes?考虑以下用ANSIC编写的程序。file:test.cmain(){}我在Windows7上。我使用MinGW编译这个文件。$gcctest.c然后,我想看看这个文件的大小。$ls-laa.exe-rwxr-xr-x1UsernameAdministrators47902Nov2115:57a.exe看起来这个完全空洞的、毫无值(value)的C程序编译成一个大小将近50KB的二进制文件。为什么会发生这种情况?
我在Eular问题页面上做另一个问题。10以下的素数之和为2+3+5+7=17。求出200万以下的所有质数之和。我已经设法编写了下面的代码,但我认为沿线的某个地方(即当我们得到大素数时)代码会失去准确性。答案应该是142913828922,但我得到的是1179908154。我不知道为什么我没有得到答案,因为下面的代码适用于10岁以下的child。任何帮助都会很棒。我做这些问题的原因是为了在C方面做得更好。代码:#include#include#include/*Initialise*/voidCalcNumber(unsignedlongnumber);intisPrime(unsig
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion也许这是一个愚蠢的问题,但这是从人们在这里和那里的谈话中学到的问题之一,如果专业人士正确描述了情况,我会很高兴。谈到标准台式计算机,我看到Windows程序尽可能地便携。我可以用静态库链接编译任何32位软件,然后将该软件放在闪存驱动器上,它可以在世界上任何32位或64位计算机上运行。我有超过10年的程序,它们仍然可以正常工作。现在我也在编写linux,但是我在编写linux程序时脑子里没有那个画面。我总是