用Xcode进行C编程,scanf不';不读整数

用Xcode进行C编程,scanf不';不读整数,c,scanf,C,Scanf,在跳到objective-C之前,我正在练习C编程语言,所以我使用的是最新版本的XCode 4.6.3(我相信这是最新版本)。 我想读取一个输入,一个数字输入(年龄),并显示一个人的狗年龄。 这是我的密码 #include <stdio.h> int main() { int age; printf("How old are you? \n"); scanf("%d",&age); age = age *7; printf(\nIn d

在跳到objective-C之前,我正在练习C编程语言,所以我使用的是最新版本的XCode 4.6.3(我相信这是最新版本)。 我想读取一个输入,一个数字输入(年龄),并显示一个人的狗年龄。 这是我的密码

#include <stdio.h>
int main()
{
    int age;
    printf("How old are you? \n");
    scanf("%d",&age);
    age = age *7;
    printf(\nIn dog years you are %d years old",age);
    return 0;
}
#包括
int main()
{
智力年龄;
printf(“您几岁?\n”);
scanf(“%d”和年龄);
年龄=年龄*7;
printf(\n在狗年,您的年龄为%d岁);
返回0;
}
所以我输入了我的年龄,但没有显示结果,sry是关于新手的问题,但我已经问了4个工作人员,什么也没有问:( 谢谢

答案!
我不知道为什么会发生这种情况,但我解决了它(有点好玩哈哈哈)。我正在使用apple键盘,NumLock ENter键对debugg o.o不起作用。当我使用主ENter键时,它起作用了!谢谢大家=)

这种情况经常发生,因为程序在输出缓冲区有机会将其自身清空到控制台之前退出。将
\n
添加到
printf
格式行的末尾应该可以解决此问题:

printf("\nIn dog years you are %d years old\n",age);
\n
打印到连接到控制台的输出流会“刷新”输出,除非您在程序中更改此设置

注:C提供了一种较短的乘以7的方法,而不是

age = age * 7;
你可以写

age *= 7;

我想你在这里遗漏了一句话:

printf(\nIn dog years you are %d years old",age);
将其更改为:

printf("\nIn dog years you are %d years old",age);
我甚至不知道这对你来说是如何编译的。你可能会遇到编译时错误。记得先编译你的代码,然后运行。当它运行时,记得在控制台中输入你的输入,然后按回车键


我刚刚试过这个,它对我很有效:

Hi。“在跳到objective-C之前,我正在练习C编程语言“-太酷了!这是学习这些语言的正确顺序。请考虑使用一些代码,这样代码就更容易阅读了。还要注意,这个问题与所使用的IDE无关,而与语言和库函数的使用有关。@KevinDTimm它没有显示任何内容,我使用了一些断点并进行了调试,错误在“scanf”上。它似乎没有得到输入。我键入输入25,然后按enter键,然后程序退出。@H2CO3您好,thnx要获得帮助,我将阅读格式标准!同样,请参见@dasblinkenblaght的答案-当您单步执行代码时(因为您在调试器中),它是否永远不会从
scanf
返回?@JoséFlávio不客气。您对输出流提出了一个很好的观点,但这不是他的问题。“我想你可以相信,你的答案对他的问题来说太好了……”穆罕默德。我不认为缺少的引语不仅仅是OP在输入问题时引入的一个打字错误,因为没有它程序就不会编译。如果他是编程新手,他可能不知道编译然后运行。或者他可能不知道自己在编译时出错。只有当他给我们更多的信息时,我们才会真正知道。@MohammadS.-不太可能,因为他现在正在跑步debugger@dasblinkenlight我不知道为什么会发生这种情况,但我解决了(有点好玩哈哈哈)。我使用的是apple键盘,NumLock ENter键不适用于调试o.o。当我使用主回车键时,它工作了!谢谢大家,我错过了打字。我在引用这句话!谢谢