标签: scanf

在Objective-C编译器上没有正确编译C程序

我对Objective-C比较新,我知道它是C的超集.但是当我尝试在GCC中编译这个C代码时,它给了我一个错误,我无法执行代码.

  #include <stdio.h>  
  int main(){  
   int x;
   printf("Input int:\n");
   scanf("%d", x);
   printf("%d", x);
    return 0;             
}
Run Code Online (Sandbox Code Playgroud)

当我执行其他代码时,没有错误,但输出错误.注意:唯一的变化是"int*x".

   #include <stdio.h>  
   int main(){  
   int *x;
   printf("Input int:\n");
   scanf("%d", x);
   printf("%d", x);
    return 0;             
}

  INPUT: 3
  OUTPUT: 2147307520
Run Code Online (Sandbox Code Playgroud)

c int pointers scanf objective-c

-2
推荐指数
1
解决办法
72
查看次数

scanf功能可以使用多少次?

为了回到C编程的流程,我一直在打字一些简单的测试程序.我遇到了scanf函数的一个奇怪问题.我在下面的代码中有3个,但只有前2个被初始化; 第三个scanf被忽略.这是正常的,还是我做错了什么?我一直在盯着这段代码过去半小时,我找不到任何错误.

#include <stdio.h>

int math(int a, int b, char selection) {

    int result;

    switch (selection) {
        case 'a':
        result = a + b;
        break;
        case 's':
        result = a - b;
        break;
        case 'm':
        result = a * b;
        break;
        case 'd':
        result = a / b;
        break;
    }

    return result;
}

int main() {
    int num1 = 0;
    int num2 = 0;
    int result = 0;
    char selection;

    printf("Enter first number: ");
    scanf("%i", &num1);

    printf("Enter second number: "); …
Run Code Online (Sandbox Code Playgroud)

c io scanf

-2
推荐指数
1
解决办法
734
查看次数

使用 fscanf 读入指针时出现分段错误(核心转储)

我正在尝试使用 fscanf 来读取和打印屏幕上的每个字符,但是在运行程序时出现分段错误(核心转储)。这是我的代码:

#include <stdio.h>

main(int argc, char * argv[]) {
    int *a ;
    FILE *input;

    if (argc>=2) {
        input= fopen(argv[1],"r");

        if (input!=NULL) {
            while (feof(input)==0) {
                fscanf(input,"%d\n",a);
                printf("%d\n",*a);
            }
            fclose(input);
        } else {
            printf("Error!\n");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我提供文件作为参数,如下所示:

./myprog input.txt
Run Code Online (Sandbox Code Playgroud)

该文件input.txt包含以下内容:

23
47
55
70
Run Code Online (Sandbox Code Playgroud)

c coredump scanf segmentation-fault argv

-2
推荐指数
1
解决办法
4796
查看次数

第二次扫描字符不起作用

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

void trinanguloNumeros(){
    char caracter = 'y';
    int iTamano;

    while (caracter == 'Y' || caracter == 'y') {
        printf("Realizar triangulo:\n");
        printf("De que tamaño desea su triangulo? [1-20]");
        scanf("%i", &iTamano);

        int i,j;
        for(i=1; i<= iTamano; i++ ){
            for(j=1; j <= i; j++){
                printf("%i", j);
            }
            printf("\n");
        }

        printf("Desea Intentar nuevamente? [y/n]\n");
        scanf("%c", &caracter);
        printf("%c", caracter);

    }
    printf("Termina!!");
}

int main(void){
    trinanguloNumeros();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

scanfvar 的第二个caracter不起作用并打破 while循环.我不知道为什么这会打破循环并且不再设置变量.

c scanf

-2
推荐指数
1
解决办法
123
查看次数

使用fscanf()从文件中读取文本

伙计们,我想从我的文件中读取文本,并将每个字符分配给数组的单个元素

char A[1000];

FILE * fpointer;
fpointer=fopen("text.txt","r");

i=0;
while(!feof(fpointer))
{
    fscanf(fpointer,"%c",&A[i]);
    i=i+1;
}

fclose(fpointer);

for (i=0;i<100;i++)
{
    printf("%c",A[i]);
}

return 0;
Run Code Online (Sandbox Code Playgroud)

但问题是输出是一些奇怪的符号而不是文件的文本,这是"这只是一个测试".为什么会发生这种情况?

c file scanf feof

-2
推荐指数
1
解决办法
2642
查看次数

输入期间两个整数之间的逗号

如果我执行以下操作会发生什么

scanf("%d,%d", &i, &j);
Run Code Online (Sandbox Code Playgroud)

并提供导致匹配失败的输入?它会存储垃圾j吗?

c input scanf format-string

-2
推荐指数
1
解决办法
165
查看次数

在C中初始化char和string变量

诺布在这里

我一直在研究如何在C中初始化变量.我得出结论,总是初始化变量是一种好习惯.但是,我还没有找到关于如何初始化变量的明确答案.例如,如何初始化char和字符串?当然你可以根据需要初始化它们,但使用什么是零/空白值?

int a = 0;
char b = ?;
char c[] = ???;
Run Code Online (Sandbox Code Playgroud)

另外,如果在基本程序中声明和定义变量然后使用scanf()从用户获取值,那该怎么办?你应该在使用scanf()之前初始化变量吗?

先感谢您.

c initialization scanf

-2
推荐指数
1
解决办法
1514
查看次数

C 语言编程中字符串的 scanf(“%s”,a) scanf(“%[^\n]s”,a) 和 gets(a) 有什么区别?

C 编程中的scanf("%s")scanf(\xe2\x80\x9d%[^\\n]s")和有什么区别?gets(a)

\n\n
scanf("%[^\\n]s", a)\n\nscanf("%s", a)\n\ngets(a)\n
Run Code Online (Sandbox Code Playgroud)\n\n

三种字符数组输入方式的主要区别是什么?

\n

c scanf

-2
推荐指数
1
解决办法
804
查看次数

getchar() 陷入循环,永远不会到达 EOF

#include <stdio.h>

int main() {
    int c;
    while(getchar() != EOF) {
        if (getchar() == ' ') {
            c++;
        }
        printf("%i", c);
    }
}
Run Code Online (Sandbox Code Playgroud)

我意识到输入一个像你正在读的句子一样的句子

我\n意识到\n\n正在输入\n\n\a\n ...

我相信这就是它的读取方式, getchar() 不会到达 EOF 以使 while 括号中的条件为假..

我的目标是制作一个程序,它接受我的输入。如果达到 EOF 时计数器上计数有任何空格,则读取它。继续读取的条件将变为 false 计数器值将打印在屏幕上显示我的整个输入中有多少个空格。

这不可能吗?这就是人们只使用 scanf() 的原因吗?

这是我尝试某事时得到的输出

user@user:/c# ./a.out
hello stackoverflow this does not do what i want it to
001111111222223344445666677
Run Code Online (Sandbox Code Playgroud)

c scanf eof

-2
推荐指数
1
解决办法
896
查看次数

如何阅读这种格式

假设我有一个这样的输入,每行一个单元格:

[0,0]
[0,2]
[0,4]
[2,4]
[4,4]
Run Code Online (Sandbox Code Playgroud)

我设法使用类似的方法逐一阅读它们,[%d,%d]并得到如下输出:

cell1: row: 0, col:0
cell1: row: 0, col:2
Run Code Online (Sandbox Code Playgroud)

然后我有另一个像这样的输入

[0,0]->[0,1]->
[0,2]->[0,3]->
[0,4]->[1,4]->
[2,4]->[3,4]->
[4,4]->[5,4]
Run Code Online (Sandbox Code Playgroud)

如何在不被箭头'打断的情况下读取输入->'

c formatting scanf

-2
推荐指数
1
解决办法
57
查看次数