为什么我的程序在运行时出错?
#include <stdio.h>int main()
{
char input;//定义个字符变量为input
jump:printf("请输入one:\n"); //输出 ,同时为这条代码加追jump标签
scanf("%s",input);//接收字符串
if (input == 'one')//判断 input变量内容是否为one
{
printf("Goodjob ! Now input again!\n");
goto jump; //跳转至jump标签语句
}
printf("Come!Just do that,OK?!\n");
return 0;
}
从Python转战C语言,刚刚入门。各位大佬帮忙看看。谢谢啦。 本帖最后由 Robot_Steve 于 2021-8-7 18:36 编辑
你这个代码有一下问题:
1. C语言中用单引号括住表示字符,双引号表示字符串
2. 变量input是一个字符(char)类型,但是你用scanf却写的是"%s"(%s表示字符串)
更改的代码如下:
#include <stdio.h>
int main()
{
char input[] = "";
jump:printf("请输入one:\n"); //输出 ,同时为这条代码加追jump标签
scanf("%s", input);//接收字符串
if (input == "one")
{
printf("Goodjob ! Now input again!\n");
goto jump; //跳转至jump标签语句
}
printf("Come!Just do that,OK?!\n");
return 0;
} 字符串比较不可以这样写
if (input == 'one')
得这样写
if (! strcmp(input , "one"))
页:
[1]