gpt4 book ai didi

c - scanf 不适用于在线运行者

转载 作者:行者123 更新时间:2023-11-30 20:59:56 27 4
gpt4 key购买 nike

昨天开始学习C语言,做了一个简单的二进制转换程序。它在我的电脑上运行良好,但是,它不适用于除could9之外的大多数在线代码运行器(编译器)。看来scanf函数一般不兼容在线IDE?

这是代码。

#include <stdio.h>
#include <string.h>

int main(){

int a;
int b;
int c[255];
char opt[100];

printf("10進数の値を入力してください > ");
scanf("%d", &a);
printf("計算式を表示しますか? y(yes) or n(no) > ");
scanf("%s", opt);

if(strcmp(opt, "y") == 0){
printf("\n計算式: \n");
}

int i = 0;
while(a > 0){
b = a / 2;
c[i] = a % 2;

if(strcmp(opt, "y") == 0){
printf("%d ÷ 2 = %d 余り %d\n", a, b, c[i]);
}

a = b;
i++;
}

printf("\n2進数: ");

int j;
for(j = i-1; j >= 0; j--){
printf("%d", c[j]);
}

printf("\n");
return 0;
}

任何建议将不胜感激。

最佳答案

我的通灵能力告诉我,您期望这些在线编译器提示您输入(例如在终端窗口中运行程序)。不幸的是,大多数在线编译器并非如此。相反,在某个地方有一个文本框,您可以在其中输入您想要在程序标准输入中输入的全部内容。

例如,以这个小程序为例:

#include <stdio.h>

int main()
{
char c;

printf("Gimme a character! ");
fflush(stdout);
scanf(" %c", &c);

printf("You typed in '%c'! Yay! :)\n", c);
}

在终端中编译并运行它可能会在窗口中生成以下内容(输入为粗体):

Gimme a character! f
You typed in 'f'! Yay! :)

但是在不提示您输入的在线编译器中运行它可能如下所示:

Gimme a character! You typed in ' '! Yay! :)

通过在提供的文本框中键入输入(具体位置取决于在线编译器),您可以通过这种方式向程序提供输入。

标准输入:

f

输出:

Gimme a character! You typed in 'f'! Yay! :)

关于c - scanf 不适用于在线运行者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44240578/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com