【发布时间】:2012-01-12 10:33:18
【问题描述】:
这似乎是一个非常简单的问题,但我正在努力解决它。几个月来,我一直在用 Objective C 编写 iPhone 应用程序,但我决定学习 C 编程来给自己打下更好的基础。
在 Objective-C 中,如果我有一个名为“label1”的 UILabel,其中包含一些文本,并且我想根据该文本运行一些指令,那么它可能类似于;
if (label1.text == @"Hello, World!")
{
NSLog(@"This statement is true");
}
else {
NSLog(@"Uh Oh, an error has occurred");
}
我编写了一个非常简单的 C 程序,它使用 printf() 请求一些输入,然后使用 scanf() 接受用户的一些输入,所以是这样的;
int main()
{
char[3] decision;
Printf("Hi, welcome to the introduction program. Are you ready to answer some questions? (Answer yes or no)");
scanf("%s", &decision);
}
我想要做的是应用if 语句来说明如果用户输入了“是”然后继续提出更多问题,否则打印出一行文字表示感谢。
使用 scanf() 函数后,我正在捕获用户输入并将其分配给变量“decision”,因此现在应该等于是或否。所以我认为我可以做这样的事情;
if (decision == yes)
{
printf("Ok, let's continue with the questions");
}
else
{
printf("Ok, thank you for your time. Have a nice day.");
}
这会引发“使用未声明的标识符是”的错误。我也试过了;
if (decision == "yes")
这会导致“未指定与字符串文字的比较结果”
我尝试通过计算输入的字符数来查看它是否有效;
if (decision > 3)
但是得到“指针和整数'Char和int'之间的有序比较”
我也试过这个来检查变量的大小,如果它大于2个字符,它必须是yes;
if (sizeof (decision > 2))
我很感激这可能是我忽略的一些简单或微不足道的事情,但任何帮助都会很棒,谢谢。
【问题讨论】:
-
你犯的第一个最开始的错误,是在主题中滥用'char variable',在内容中滥用'string variable'或'char * variable'或'char []'。对于每个 C 程序员 char 变量是:char c;
标签: c variables if-statement char