C语言编程while循环

标签 c

我试图使用 if 显示交替系列嵌套在 while 中的语句环形。 这就是代码。

main()
{
    printf( "Enter a number: " );
    int n1;
    scanf( " %d", n1 );
    int temp = 1;

    while( temp <= n1 )
    {
        if( temp % 2 == 0 )
        {
            printf(" %d", -1 * temp );
            temp++;
        }
        else
        {
            printf( " %d", temp );
            temp++;
        }
    }
}

编译器没有显示任何错误,但在程序运行时它说它停止工作。有什么建议吗?

最佳答案

您需要向 scanf() 提供要分配给的变量的地址,使用地址运算符 & :

scanf(" %d", &n1);

关于C语言编程while循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49681638/

相关文章:

c - GCC 迭代函数优化

C - 比较来自不同分配的指针?

c - 在这个 CS50 问题集中,For 循环背后的数学原理是什么?

c - 将节点添加到双链表

c - 读取 float

c - 使用 system tap 时如何避免 "probe overhead exceeded threshold"错误?

c - '如何从 C 中的数字中获取最后一位数字?

c - 带有 NULL addr 的 mmap 如何工作?

c - 测试机器的字节顺序

c - 在 O(log n) 时间内找到连续整数数组中的重复元素