大佬们,再麻烦看一眼这个函数
c语言吧
全部回复
仅看楼主
level 6
▫残-念▫
楼主
在图二中,可以看到我输入的顶点序号是ABCD,但是实际上这个D我是乱输的他不是我想要输的一个值,之后我在图一的红线那里设置了一个断点看到底什么回事发现就是这里,重复吸收了4次值,但是奇怪的是i=0的时候吸收了2次分别是AB,i=1的时候吸收了1次C,i=2的时候吸收了1次D,从最后DFS可以看出来,D实际上是不在这个图里的,这是咋回事,头秃了,反复断点了好几次想破脑袋没发现哪有问题
麻烦了大佬们,真没招了
2024年12月27日 15点12分
1
吧务
level 14
GTA小鸡
选3
2024年12月27日 15点12分
2
▫残-念▫
@GTA小鸡
这个和我这个问题有关吗,为啥啊,scanf_s居然和scanf有区别
2024年12月27日 15点12分
▫残-念▫
不对啊,我即使换成scanf还是需要让我输入4次,但是我设定的if语句明明是循环3次的
2024年12月27日 15点12分
GTA小鸡
@▫残-念▫
你写的明明是scanf_s,然后抱怨scanf不好用,这完全是指桑骂槐。你为什么默认这两个函数是等价的呢?
2024年12月27日 15点12分
GTA小鸡
@▫残-念▫
至于为什么多了一次循环,因为你在scanf格式字符串尾部添加了多余的空格。
2024年12月27日 15点12分
level 6
▫残-念▫
楼主
c语言里的scanf怎么这么恶心啊,真的好玄学啊感觉,即使放了断点一句一句的看,还是找不到问题所在
2024年12月27日 15点12分
3
▫XeO2▫
是MSVC很恶心,不要责怪无辜的scanf
2024年12月27日 16点12分
stanchcorder6
@▫XeO2▫
%c不指定宽度就是%1c,但是scanf_s却强行要求后边加上那个1
2024年12月28日 02点12分
stanchcorder6
@▫XeO2▫
用VS编译C程序建议把编译器换成Clang。MSVC本身只是个C++编译器
2024年12月28日 02点12分
吧务
level 14
GTA小鸡
scanf_s和scanf的区别
scanf中空白字符的作用
2024年12月27日 15点12分
4
1