问题描述
- 一些代码的调试问题。。。
-
#include#include
void main() {
int k; char s[] = "ABCCDA", c; for (k = 1;(c = s[k]) != '';k++) { switch (c) { case'A':putcahr('%');continue; case'B':++k;break; default:putchar('*'); case'C':putchar('&');continue; } putchar('#'); } system("pause");
}
解决方案
帮你修改了代码,应该没问题了,望采纳。
#include<stdio.h>
#include<windows.h>
int main() {
int k;
char s[] = "ABCCDA", c;
for (k = 1;(c = s[k]) != '';k++) {
switch (c) {
case'A':putchar('%');continue;
case'B':++k;break;
default:putchar('*');
case'C':putchar('&');continue;
}
putchar('#');
}
system("pause");
}
解决方案二:
putchar拼错了,这代码根本都编译不了,哪里来的“调试”
解决方案三:
然后你的问题是什么呢
解决方案四:
然后你的问题是什么呢
解决方案五:
黑马程序员_C#代码的调试问题
代码调试问题汇总
代码调试遇到的问题
解决方案八:
刚才没看到,关于输出的问题这里做个解释:
首先K值为1,就是从B开始,将k的数值加1后跳出switch,打印#;
再到for循环,k值再加1变成3,对应第二个C,打印&,continue直接执行for循环;
接下来是D,对应default,打印*,后面没有任何退出语句,执行下一条case打印&
最后打印A所对应的%,程序结束。
时间: 2025-01-26 20:22:26