下午好, 我正在努力完成一项我知道应该可行的任务。但是我的尝试似乎每次都失败了。我的努力是学习Objective -c中的代码,并且取得了很好的进展。我想要做的是为我当前的应用程序添加一个循环,最后询问我是否想再次运行或者某些事情,并回答是或否。如果没有程序结束,如果是,它会跳回到项目的顶部,从头开始。有点像我下面的东西?原谅我,如果它不是很完美,我仍然习惯于编程,并发现它非常有趣。
#include <stdio.h>
int main(void)
{
char loop = yes;
while (loop = yes)
{
.
.
.
}
printf ("would you like to continue (yes/no)/n");
scanf ("%s", loop);
}
答案 0 :(得分:1)
printf和scanf需要在while循环的花括号内向上移动。另外,你想在printf中使用\ n而不是/ n。最后,您将使用scanf()调用返回一个字符串,因此您需要将循环声明为char数组,然后在while循环中,检查该数组的第一个元素是否为'y'或'n'或类似的东西。您可能还想查看getchar()而不是scanf()来处理这类事情。
答案 1 :(得分:1)
此处未编译,但应工作:
#include <stdio.h>
int main(void)
{
char buffer[256];
do {
.
.
.
printf ("would you like to continue (yes/no)/n");
scanf ("%s", buffer);
} while (strcmp(buffer,"yes") != 0);
}
在现实世界的应用程序中,人们不会做任何类似的事情,但出于演示目的,它应该没问题。
我将变量设为数组,因为字符串是C中的字符数组。长度设置为256字节(255个字符+ 0字节作为分隔符)。我将循环更改为do-while以使其至少运行一次。对于字符串比较,您需要调用一个函数。对于相同的字符串,strcmp
返回0。最后,问题属于 in 循环。
虽然没有使用Objective-C,但它很简单。
答案 2 :(得分:0)
int main() {
char A = 'n';
char B = 'y';
char Answer;
printf("Does the subject have a glazed over look? (y/n): \n");
scanf("%c",&Answer);
if (Answer=='N'||Answer=='y'|| Answer=='N'||Answer=='Y')
printf("Good\n");
else
printf("Please enter 'y' or 'n' \n ");
return 0;
}
答案 3 :(得分:-1)
#include <stdio.h>
int main(void)
{
avi;
char loop[10];
while (loop = yes)
{
.
.
.
}
printf ("would you like to continue (yes/no)/n");
scanf ("%s", loop);
if(strcpm(loop,"YES")==0) goto avi:
}