scanf_s报错解决方案
在代码中,当我们使用scanf_s函数时,需要注意到该函数需要传入两个参数:要读取的格式字符串以及对应的变量地址。
在上述代码中,有两处出现了错误的scanf_s函数调用,分别是:这两处调用都缺失了一个必要的参数,即格式字符串"%c"所需的第二个参数。正确的调用方式应该是:在这里,第三个参数1表示要读取的字符数,因为我们只需要读取一个字符,所以值为1。
修改后的完整代码如下:#include <stdio.h>int main() { printf("please input first character:"); char ch, c1, c2; scanf_s("%c", &ch, 1); switch (ch) { case 'm': case 'M': printf("Monday\n"); break; case 'w': case 'W': printf("Wednesday\n"); break; case 'f': case 'F': printf("Friday\n"); break; case 't': case 'T': scanf_s("%c", &c1, 1); switch (c1) { case 'h': printf("Thursday\n"); break; case 'u': printf("Tuesday\n"); break; default: printf("illegal input!\n"); break; } break; case 's': case 'S': scanf_s("%c", &c2, 1); switch (c2) { case 'a': printf("Saturday\n"); break; case 'u': printf("Sunday\n"); break; default: printf("illegal input!\n"); break; } break; default: printf("illegal input!\n"); break; } return 0;}
希望以上内容能够解决你的问题。如果还有其他疑问,请随时提问。
球一个最佳答案谢谢啦!这对我非常重要! |