我刚开始学习编程,在学校老师用的是Macbook和一个叫做"X-Code“的程序,在家里我用的是windows和Visual Studio (2017)。老师们没有解释什么是"setbuf“,还说我们必须在Visual Studio中使用一些不同的scanf。现在我在家,完全无能为力。实际上VS说最好试试scanf_s,所以我就试了,程序一直运行到我可以输入“操作”为止。在我输入前两个参数之后,它会停止,窗口也会自动关闭。你们谁能帮助我,对我不理解的事情给我解释一下?
提前谢谢。下面是我写的代码
void main() {
int a, b, c;
char
有没有办法在C中请求用户输入时隐藏用户输入?例如:
char *str = malloc(sizeof(char *));
printf("Enter something: ");
scanf("%s", str);getchar();
printf("\nYou entered: %s", str);
// This program would show you what you were writing something as you wrote it.
// Is there any way to stop that?
另一件事是,你
我正在尝试使用scanf从输入创建全局变量。我有这样的代码: #include <stdio.h>
#include <string.h>
/* innitialize our default global variables */
int height[2] = {0, 0}; /*verticle height will be the first number when splitting, aka the number of rows*/
int barrier = 0;
int fill = 0;
int point[2] = {0, 0}; /*verti
我有一个代码,用户必须把公升油漆的价格…但它只接受像“2.50”这样的价格,如果用户输入"2.50",我能让程序将逗号转换为点吗?使用C!
printf ("\n How many liters of green paint we'll use? ");
scanf ("%d", &green);
printf ("\n How many liters of blue paint we'll use? ");
scanf (" %d", &blue);
我正在编写一个程序,询问用户他们有多少便士、五分钱、一角硬币和25美分,然后告诉他们他们有多少钱。我写了程序,但我想不出如何让用户输入的值与值相乘。
我已经重写了它,但是不能让它工作。
float a, b, c, d, e;
a = 0.01;
b = 0.05;
c = 0.10;
d = 0.25;
e = a+b+c+d;
printf("How many pennies?");
scanf("%f" , &a);
printf("How many ni
我正在尝试从我的用户获取一个输入,然后将输入赋给数组索引。例如,用户输入"0 2 4“,而我希望数组的值为array= 0,array1= 2,array2= 4。在C语言上可以这样做吗?我用下面的代码尝试了一下:
int main()
{
int numberOfInput = 0;
int arr[100];
printf("How many numbers you want to type? \n");
scanf("%d", &numberOfInput);
for(int i = 0; i<numberOfInput; i++)
#include <stdio.h>
int main ()
{
char yourname;
int yourage;
printf("Whats your name?\t");
scanf("%c",&yourname);
printf("How old are you?\t");
scanf("%d",&yourage);
printf("You are %d years old and your name is %c\n\n\n&
当输入是负整数时,程序应该询问是否要重置。
当我用负整数测试它时,它工作得很好。但是当我尝试一个正整数时,它不起作用(我必须输入两次)。
int main(void) {
int user_input;
char check;
do
{
printf("Enter a positive integer: ");
scanf("%d", &user_input);
if (user_input < 0)
printf("Error. D
我可以使用scanf(...)作为函数的参数吗?如下所示:
printInteger(scanf(....));
我是否可以使用scanf将我读取的值赋给某个变量?如下所示:
n = scanf(...);
附言:我在这里解释我为什么要问这个问题。
我知道这个问题可能有点奇怪,但我在一个项目中工作,这个项目正在开发一个编译器,它将某种语言作为输入,然后编译成C语言。
例如,这是我的语言,让我们调用'stackoverflow‘;)
proc printInteger(integer k)
integer i;
begin
for i =
我知道我在问一个基本的问题。我在C程序中使用scanf和gets时遇到了问题。每当我使用scanf时,gets都不能正常运行。示例如下:
void fun() {
char str[10];
printf("Enter the string");
gets(str);
printf("Entered string is %s\n", str);
}
int main() {
int val;
printf("Enter the value\n");
scanf("%d",
第一次发布,也是C语言的初学者,我的问题是如何打印未知数量的结果?以下面的代码为例:
#include <stdio.h>
int main(void)
{
int a,b,c;
b=0;
printf("Enter the number of terms: ");
scanf("%d", &a);
for(b=0; b<=a; ++a)
{
printf("\n\nEnter the value of each term: ");
s
我已经给出了包含要处理的数据并保存到数组中的输入。输入如下所示:
{ [1, 10], [2,1] , [-10, 20] }
它可以有更多的元素。我需要处理它,我可以将数字中的所有数字加载到二维数组中,第一个数字应该是第0个,第二个数字应该是第一个索引,所以这个数组看起来应该像这样
[[1,10],[2,1],[-10,20]]
但是我没有找到解决方案,如何将这个输入处理成我想要的数组。什么才是正确的方法呢?我试着这样做:
int main()
{
long long int cisla[10][2];
int x;
int y;
int i;
我想从用户处向数组输入n个元素,但是它不会在1元素之后输入,只打印该元素并终止,并且不打印整个array.dont,知道为什么它不工作,即使没有错误。
#include <stdio.h>
int main()
{
int arr[100] = {1, 2, 3, 4, 5};
int n, q, m = sizeof(arr) / sizeof(arr[0]);
printf("enter the number of elements to be added:");
scanf("%d", &n);
嘿StackOverflow社区!
我需要你的关注和帮助。我有一个任务来创建一个矩阵乘法,但是问题是,在数组的第一个维度输入之后,代码就被卡住了。它不会将参数传递给第二维B。
以下是代码:
int main()
{
int k, n, m;
printf("Dimensions for A array: ");
scanf("%d %d", &n, &k);
int A[n][k];
for (int i = 0; i<n; i++) {
for (int r = 0; r<k;
我正在使用C使用scanf("%i", &myInt)读取整数数据。我知道对于这个特定的输入,数据将始终是三位数。然而,有时我需要读一个以0为前导的数字,比如001或078。当scanf()读取一个带有前导零的数字时,它不会提取后面的数字。例如,当我读取078时,scanf读取7,那么下一个scanf将读取8。我希望scanf读取78。有没有人能告诉我该怎么做?下面是一个代码示例:
int x;
while (scanf("%i", &x) != EOF) {
//do operations on each of the digits
我第一次了解到语法糖语言的存在,比如在Rails中工作时的CoffeeScript和SASS。这让我觉得..。为什么我们对C、C++和Java这样的语言没有众所周知的语法糖(如果有的话)?
假设有一种语言读起来像Python或Ruby,可以对C进行预处理,然后编译生成非常快速的代码,这些代码看起来也很漂亮。
例如,而不是:
#include <stdio.h>
int divide(int a, int b)
{
if(b != 0)
return a / b;
return 0;
}
int main()
{
int a, b;
对这个愚蠢的问题我很抱歉。我有C程序提示用户输入年龄和姓名,然后将年龄和姓名打印到屏幕上。这是我从书本上读到的练习。
这就是这个计划:
#include <stdio.h>
int main (void) {
int age;
char name[20];
puts("Enter your age:");
scanf("%d",&age);
fflush(stdin);
puts("Enter your name:");
scanf("%s",name);
我有一个简单的C程序
int main()
{
int n, maxn = 21;
float SN, x;
printf("input x:");
scanf("%f", &x);
printf("input maxn:");
scanf("%d", &maxn);
for(n=0;n<=maxn;n++){
SN = SN + pow(x,n);
n = n + 1;
}
printf(
我对C很陌生,我无法理解为什么这段代码不能正常工作。整个想法是输入很少的数字和偶数的输出量。
int n, p;
printf("How many numbers would you like to enter?\n");
scanf("%d", &n);
int array[n];
printf("Enter your numbers\n");
for (int i = 0; i == n; i++) {
scanf("%d\n", &arr
在每个句子之前,它需要说出句子的数量。从一开始数。我的意思是:
How many sentences you want to enter [1-5]?
2
sentence 1: write what you want
sentence 2: here as long as its less then 50 letters
我的问题是,我不知道如何限制字母的数量,而不需要将它们全部插入。如果我写
for(i=0; i<50; i++)
我需要输入所有50个字母,但如果我想写,我只需要写1个字母,这就是我迄今为止所做的:(请注意,我不需要问用户他想输入多少个字母)。
char text
我是程序初学者。请告诉我如何在代码块中连接两个或多个字符串。这些字符串是用户可以给出的输入。
#include<stdio.h>
int main()
{
char a,b;
printf("Enter your first name:-");
scanf("%s",&a);
printf("Enter your middle name:-");
scanf("%s",&b);
printf("%s",a+b);
}