C语言循环
do{
printf("姓名:");
scanf("%s", p1->name);
if (!strcmp((p1->name), "ok"))
break;
}while(1);
为什么输入ok就不会跳出循坏?到底哪里有问题啊? 完整的代码呢 本帖最后由 joker11111 于 2016-9-7 17:25 编辑
表示可以跳出{:10_256:}
#include <stdio.h>
#include <stdlib.h>
int main()
{
struct stu
{
int num;
char name;
}*p1;
p1 = (struct stu *)malloc( sizeof(struct stu) );
do
{
printf("姓名:");
scanf("%s", p1->name);
if (!strcmp((p1->name), "ok"))
{
printf("p1->name = \"ok\" 为真准备跳出循环...\n");
break;
}
}while(1);
return 0;
}
{:10_257:}{:10_257:}楼上在逗我,那个*p1是别名好么??那个不是指针,不是指针,不是指针
{:10_269:}{:10_269:} {:10_250:}{:10_250:}LZ,应该是name是字符数组,他在OK后面还会添加一个\0,对比的时候\0也算的{:10_250:}{:10_250:}
页:
[1]