Tag: turbo c

Turbo C 3.0遵循哪个版本的ANSI C标准?

Turbo C 3.0的哪个版本的ANSI C标准全部或部分遵循? C89还是C90?

C编译器GCC和Turbo的奇怪行为

我已经经历了其他类似的问题,但试图了解我所面临的情况。 所以,这是我的两行C代码。 int i=0; printf(“%d %d %d %d %d”,i++,i–,++i,–i,i); 以下是我从GCC和Turbo C编译器获得的输出。 GCC 输出: -1 0 0 0 0 Turbo C. 输出: -1 0 0 -1 0 我尝试了单独使用预增量运算符的各种实验,并且两个编译器的工作方式类似,但是当我使用上面的printf语句时,输出会有所不同。 我知道Turbo C是一个古老的编译器,现在已经过时和非标准,但仍无法弄清楚上面的代码有什么问题。

替代fscanf()/ vscanf()函数系列以使用替代validation密钥或如何创建自定义语言布局?

我更喜欢C语言。我知道从stdin设置变量的唯一方法是使用fscanf() / vscanf()函数系列。 DOS操作系统正在嵌入式市场中复苏。 我使用的设备在程序上与DOS兼容,并使用具有80286指令集的NEC V30Mx。 问题是内置键盘没有输入键,而是使用输入0x1C00键代码的EXE键( Alt输入 ) 。 所以当我写这样的程序时: #include #include #include int main(void) { int res, number = 0; printf(“int value?”); res = scanf(“%d”, &number); printf(“The value is %d”, number); return; } 调用scanf()并在屏幕上显示“ int value? ”。 我可以写数字和超级字母。 但我无法validation输出,因为0x1C0D键代码没有任何特征,EXE键使用不同的键码。 当然C不知道键盘,但C标准库二进制文件寻找输入\n的0x1C0D键代码 。 那么是fscanf() / vscanf()函数系列的替代品,它是C标准库的一部分吗? 更新: 我认为dos下的大多数C标准库都使用软件实现来实现这一点。 我看到DOS调用读取文件,当然,使用数字0导致从标准输入读取。 所以我组装了这个例子 ,将它加载到计算器上,发现自己很惊讶制造商首选处理它的内置软件中的问题,而不是修复操作系统… :- ((我得到了相同的先前结果) 更新 我没想过但是由于评论,我忘了键盘语言做重键代码重映射。 […]

C程序在不同的编译器上给出不同的输出

我运行了一个C程序,并在不同的C编译器上获得了不同的输出。 以下是我的计划 void main() { int i=5; printf(“%d%d%d%d%d”,i++,i–,++i,–i,i); } ON boarnland c ++ complier o / p是 45545 并在gcc上 45555 是真的依赖编译器还是依赖于操作系统? 函数调用中的参数从左到右被压入堆栈。 评估是从堆栈弹出。 并且评估是从右到左,因此结果。

使用带有while循环的kbhit()

这是该计划。 void main( ) { int h, v; h = 1; v = 10; while ( !kbhit( ) || h <= 80 ) { gotoxy( h, v ); printf( "” ); delay( 200 ); clrscr( ); h = h + 1; } getch( ); } 我在C中创建一个程序,我在其中使用kbhit()来运行循环,直到按下一个键。 所以这里箭头””将继续向前移动直到按下一个键或直到它到达屏幕的最后一个像素。 我想要的是程序应该在每次按下’d’将h递增1并且每按一次’a’递减1。 即h++; 和h–; 并运行另一个循环,直到按下一个字符。 这个想法更像是蛇游戏,其中蛇一直向某个方向移动,直到按下一个键。 请帮忙!

如何在不按Turbo C ++中的Ctrl + Break的情况下退出无限循环

我想在C(实时秒表)中进行秒表,而不使用Turbo C中的内置function“Timer”。我的代码如下: #include #include #include int main() { int hh,mm,ss; hh=mm=ss=0; gotoxy(10,10); printf(“\nSTOP – WATCH: “); gotoxy(20,18); printf(“HH : MM : SS”); _setcursortype(_NOCURSOR); for(;;ss++) //An infinite loop { if(ss==60) { mm++; ss=0; } if(mm==60) { hh++; mm=0; } gotoxy(20,20); delay(1000); printf(“%02d : %02d : %02d”,hh,mm,ss); } return 0; } 现在我想按下键盘上的一个按钮退出这个程序(让我们说’Q’)。

Turbo C编译器问题,sqrt()函数不能使用变量参数

我搜索类似于我的问题类似的问题 。 但我的问题是使用Turbo C编译器v3.0时。 我是否应该为math.h文件做一些额外的工作? 请帮忙。 int main (void){ double result, a; clrscr(); printf(“Enter a # for square root.\n”); scanf(“%f”,&a); printf(“a = %f\n”,a); result = sqrt(a); printf(“a = %f and square root is %f\n”,a, result); getch(); return 0; } 输出是这样的: 输入#作为平方根。 64 a = 0.000000 a = 0.000000,平方根为0.000000

C中的图形function

为什么我在运行代码时什么都看不见? 我用DOSBox。 #include #include #include #include #include #include #include #include int main() { int gdriver = DETECT,gmode = 0; initgraph(&gdriver,&gmode,”C:\\TC\\BGI”); struct time t; moveto(5,10); outtext(“Hello”); moveto(6,11); outtext(“World**strong text**”); moveto(1,24); outtext(“Press: 1-About_Author, 2-Current_Time,ESC to EXIT”); closegraph(); return 0; }

在C中,如何写入特定的内存位置,例如video内存b800,在DOS(真实DOS,MS DOS 6.22)

在C中,如何写入特定的内存位置,例如video内存b800,在DOS(真实DOS,MS DOS 6.22) 我知道C没有内置任何内容来做到这一点,但可能有一些特定的平台,例如DOS特定的API函数可以。 一个小的演示程序,它会很棒。 我有Turbo C(TCC.EXE – 不是小编译器,Turbo C编译器) 我知道调试可以做到(例如我知道的一些-f b800:0 FA0 21 CE ) -f b800:0 FA0 21 CE (将一些感叹号写入命令行)。 但我想要一个C程序写入b800:0

如何在turbo c ++ 16位编译器中创建项目

我想创建一个项目文件turbo c ++并链接这个项目中的文件。 虽然我已经尝试过,但我发现只有一个选项可以打开一个项目没有选项来创建一个新项目。 那怎么做。