yzz123 发表于 2020-11-3 20:42:23

新手求问为啥这个求一直报数然后数字为3的倍数的离开,求最后剩下的那个人的号码

#include<stdio.h>
int main()
{
        int *p,n,i,k,m;
        printf("输入有多少个人排序\n");
        scanf("%d",&n);
        for(i=0;i<n;i++)
                *(p+i)=i+1;
        i=0;k=0;m=0;
        while(m<n-1)
        {
                if(*(p+i)!==0)
                        k++;
                if(k%3==0)
                {
                        *(p+i)=0;
                        m++;
                        k=0;
                }
                i++;
                if(i==n)
                        i=0;
        }
        for(i=0;i<n;i++)
       
                if(*(p+i)!==0)
                {
                        printf("留下来的那个是\n");
                        printf("%d",*p);
                }
}

yzz123 发表于 2020-11-3 20:42:57

新手求教,代码运行错误,显示符号错误

Twilight6 发表于 2020-11-3 20:47:56

yzz123 发表于 2020-11-3 20:42
新手求教,代码运行错误,显示符号错误



你 12 行和 26 行的if 那 逻辑判断符是 !== 了,应该改成 == 或者 != 吧?

yzz123 发表于 2020-11-3 20:49:59

D:\123\5557\17.c(27) : error C2059: syntax error : '='
D:\123\5557\17.c(33) : error C2059: syntax error : '}'
执行 cl.exe 时出错.

yzz123 发表于 2020-11-3 20:56:53

Twilight6 发表于 2020-11-3 20:47
你 12 行和 26 行的if 那 逻辑判断符是 !== 了,应该改成 == 或者 != 吧?

我知道了,谢谢,可是我修改之后程序还是无法运行,,虽然编译成功了,能帮我看看我哪出错吗,我实在是找不出来了

Twilight6 发表于 2020-11-3 20:59:15

yzz123 发表于 2020-11-3 20:56
我知道了,谢谢,可是我修改之后程序还是无法运行,,虽然编译成功了,能帮我看看我哪出错吗,我实在是找 ...



我不会 C ,所以帮不到你了,抱歉{:9_234:}

yzz123 发表于 2020-11-3 21:00:50

Twilight6 发表于 2020-11-3 20:59
我不会 C ,所以帮不到你了,抱歉

没事谢谢大佬

Dadong丶 发表于 2020-11-4 18:05:08

指针P 没有初始化。

乐乐学编程 发表于 2020-11-4 23:39:00

这好像是谭浩强课后的习题吧?
页: [1]
查看完整版本: 新手求问为啥这个求一直报数然后数字为3的倍数的离开,求最后剩下的那个人的号码