程序生成分段故障: 11,在Yostemite上
#include<stdio.h>
#include<math.h>
#include<string.h>
int main (){
unsigned long long int inputNumber[99]={0};
int i = 0;
unsigned long long int input= 0;
scanf("%llu", &input);
while( input != EOF ){
inputNumber[i] = input;
/**在用gd
我有以下代码:
//get distances
int a = -1;
int b = -1;
while ((a != 0) && (b != 0)) {
scanf("%d %d", &a, &b);
printf("The shortest path from %d to %d is %.1lf meters.\n", a, b, D[a][b]);
}
循环似乎在一次输入后终止,尽管a和b没有输入为0。
即:
0 2
The shortest path from 0 to 2 is 237.7 me
我的任务是读取两个数字字符串,并将它们保存在不同的数组中。我决定使用scanf函数,但程序只能读取第一个字符串。这是我的错误代码。
int main()
{
int firstArray[50], secondArray[50], i, j;
/* fill an array with 0 */
for(i=0; i<50; ++i)
{
firstArray[i]=secondArray[i]=0;
}
i=j=0;
while((scanf("%d", &firstArray[i]
// Some initialization code
dup2(fd[0], fileno(stdin));
// This process is receiving the output of "ls -1"
while (scanf("%[^\n]s", someCharArray) > 0) {
scanf("%*c");
printf("%s\n", someCharArray);
}
它成功地打印了所有文件。但是,循环从不退出。如果我去掉scanf("%*c"),它就会退出,
我刚开始学C,就连十几岁的年轻人都是技术恐惧症的边缘,所以请你对我放轻松点!^^‘
我正在尝试构建一个程序,在多个房间中读取,然后循环每个房间的一系列用户输入。我希望能够将这些用户输入存储在数组中,这样我就可以在程序的稍后阶段添加它们。我没有转到指针或其他malloc/realloc是什么;正如我说的,我没有学习很久。任何帮助或建设性的意见,即不指出我的完整和完全的新鲜感,将不胜感激!
int main(){
int marks[20];
int i;
int rooms = 0;
int j = rooms;
char option = 0;
我想使用right循环来不断地向用户询问正确的输入,直到给出输入为止。是否可以使用scanf()?我知道,如果输入不匹配,则未分配输入,并将其保存为由第二个scanf()捕获。
下面的程序将永远运行,当第一个输入错误时,不会要求我提供第二个输入。
#include<stdio.h>
/* Check the input, if the input does not contain a single integer value,
then keep asking for the integer value */
/* I used a counter variable so th
考虑下面的C程序:
int number;
int sum;
char i;
printf("Enter a number: ");
scanf("%d", &number);
while (i != 'q')
{
printf("Enter a number: ");
scanf("%d", &number);
sum = number + number;
}
sum = number + number;
printf("The sum is %d", su
我担心的是程序只运行一次...在本作业中,我们将开发一个应用程序来计算几何形状的面积和周长。首先,要求用户输入代表该形状的字母。我们用C表示圆形,R表示矩形,S表示正方形。用户选择形状后,程序会相应地提示输入形状的适当尺寸。例如,如果用户选择了一个正方形,程序将要求一个边。如果它是一个圆,程序将要求半径。如果它是一个矩形,它将要求长度和宽度。在接收到适当的尺寸后,程序将计算所请求形状的面积和周长,并将其打印在屏幕上。同样,代码将请求另一个字母。如果用户输入‘q’,程序将终止。
#include <stdio.h>
#include <stdlib.h>
int mai
我刚开始使用c++编程,但我只是不明白为什么这段代码在编译后不能正常运行。现在,我只希望它取10到100之间的数字,没有错误。然后,我将为错误添加返回1,为成功添加返回0。
#include <stdio.h>
#include <stdlib.h>
int intGet(int, int);
int error();
int main(void)
{
int Min, Max, UserIn;
Min = 10;
Max = 100;
printf("Enter a number in between [10 -100]
#include <stdio.h>
void print_instructions(){
printf("You will need to input a letter to guess,\n");
printf("Then let the player see the screen, and make guesses.\n");
}
int main(){
char input;
print_instructions();
printf("What letter will the player
我的Visual告诉我要使用scanf_s(),现在我已经使用了它,我的while循环将永远继续下去。假设我在读行,每一行都有两个数字,用空格隔开。一旦我插入了所有的数字,我的while就永远不会停止。我该怎么退出我的循环?
int main() {
int i,j;
while (scanf_s("%d %d", &i, &j)) {
int maxLength = 0;
for (int index = i; index <= j; index++) {
int tmp
在问题中,我的测试用例给出了正确的答案。但在提交后,它会显示错误答案(WA)。有人能解释一下这段代码的错误之处吗?
#include<stdlib.h>
int main()
{
int test_case,j,N,x=0,diff=0,yes;
int *a;
int *b;
scanf("%d",&test_case);
while(test_case-->0)
{
scanf("%d",&N);
a=(int*)malloc(N*sizeof
我真的对getchar()和scanf()的用法感到困惑。这两者有什么区别?
我知道scanf()和家庭从用户或文件中逐字符获取一个字符,并将其保存到一个变量中,但是它是立即这样做还是在按下某个东西(Enter)之后呢?
我并不真正理解这段代码,我看到了许多使用getchar()的代码,它们都允许您在屏幕上键入任何您想要的内容,不会出现任何响应,但是当您按下enter,它就退出了。
int j, ch;
printf("please enter a number : \n");
while (scanf("%i", &j) != 1) {
w
我试图对一些整数求和,当我按下'=‘时,循环将终止并打印这些值的和。我正试着在按平等之前给出一个空间。
#include <stdio.h>
int main()
{
int a, sum = 0;
char b;
while (1) {
scanf("%d", &a);
scanf(" %c", &b);
sum += a;
if(b == '=')
break;
}
pr
我有一个问题,我想让用户输入一个从1.00到10.00的数字,如果他输入的数字超出了这个范围,我将显示他是错误的,然后重试。我认为我做得很好,但问题是,如果用户输入一个字母,循环将在无穷大处重复,我将感谢您的帮助。谢谢。:) #include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main()
{
float a;
do
{
printf("Insert number between 1.00 and 10.00:\n");
我试图编写一个程序,让用户输入两个正整数。然后利用欧氏除法计算两个数的最大公因子和最小公倍数。允许用户一次又一次地重复此操作。
这是我到目前为止掌握的密码。我得到了一个无限的循环,但我不知道为什么。请帮帮忙
int main(int argc, char** argv) {
int posint1, posint2, remainder, Lcm, divisor, dividend;
int num = 0;
while(num != -1)
{
printf("Enter a positive number to begin Euclidean
所以我一直在尝试弄清楚为什么我的代码不适合我。在这里找不到错误..它应该让我输入所有的详细信息,然后显示数组中的所有内容。但是我尝试过的不同的事情仍然以分割错误而告终。我是编程新手,所以批评是允许的。
#include <stdio.h>
#include <math.h>
int main (void)
{
int j, n;
int *A,*B, *H;
double const e = 2.71828183;
int x[15];
float y[15];
printf("\n");
p
我不明白为什么这段代码在tot等于或小于10的时候会中断循环,而当它大于10的时候就不会。
我不敢相信我仍然不能掌握这些基本的东西..请帮帮我!
do {
tot = 0;
system("CLS");
printf("Inserisci 10 sfere tra rosse, blu e verdi");
printf("\n\n Rosse : ");
scanf(" %d" , &rosse);
tot += rosse;
for (i = 0;
我试着写一个代码来使用,而不是使用goto,我写了这个。当我运行这段代码时:
int main()
{
int a;
printf ("1 or 2");
scanf ("%d", &a);
if (a == 1)
{
return card();
}
else
return computer();
}
int computer(void)
{
char c;
int f = 0 ;
do
{
printf ("
尽管提供了'n‘作为输入以退出while循环,此程序仍会运行到无限循环中。可能的问题是什么?
#include<stdio.h>
main()
{
int num,p=0,q=0,r=0;
char check='y';
while(check!='n')
{
printf("do you want to enter a number y or n");
scanf("%c",&check);
getchar();
我正在尝试逐位扫描一个大数字,并存储到一个数组中,然后打印它。
但是我从早上开始就被打击了,找不到我正在做的愚蠢的错误。
代码如下:
int a[1000000];
int main()
{
//t is number of test cases
int t,i=0,n;
char c;
scanf("%d\n",&t);
while(t--)
{
while((c=getchar())!='\n')
{
scanf("%c",&am
下面是来自编译器的错误(Hackerrank c编译器),.Here a是指针,通过malloc对内存块的起始地址进行分析,并在runtime.Could上给输入一个字符串,有谁能帮我?
GDB trace:
Reading symbols from solution...done.
[New LWP 4659]
Core was generated by `solution'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 main () at solution.c:22
22 if ((a[