请问为什么运行之后会是这样?
本帖最后由 python牛逼 于 2018-11-20 00:22 编辑RT
为什么输入“吔屎啦梁非凡“后,不是输出“你......”呢?
代码如下:
#include <stdio.h>
#include <string.h>
void main()
{
char str;
printf("即刻同我落操场跑20圈,大声讲:对唔住,非凡哥!我听唔到再讲,讲到我听到为止!\n");
scanf("%s", str);
if ( strcmp(str,"吔屎啦梁非凡\n")==0)
printf("你......\n");
else
printf("我听唔到,再讲!\n");
}
不好意思,这里修改一下,我有一些错误
这个才是,但为什么直接输出的是else里的呢?
if ( strcmp(str,"吔屎啦梁非凡\n")==0)
改为
if ( strcmp(str,"吔屎啦梁非凡")==0)
因为你的str是scanf输入的,无法包含字符'\n' 仰望天上的光 发表于 2018-11-20 09:29
if ( strcmp(str,"吔屎啦梁非凡\n")==0)
改为
if ( strcmp(str,"吔屎啦梁非凡")==0)
哦哦哦好的,学到新知识了,谢谢! 仰望天上的光 发表于 2018-11-20 09:29
if ( strcmp(str,"吔屎啦梁非凡\n")==0)
改为
if ( strcmp(str,"吔屎啦梁非凡")==0)
对了,还想请教一下,就是运行之后:如果是else的话怎样继续循环直到输入‘’吔屎啦梁非凡‘’为止?
while( scanf("%d", str) && strcmp( str,"xxxxxx" ) ) {
printf("error\n");
}
printf("ok\n");
页:
[1]