我决定尝试使用Objective C.因为我没有Mac笔记本电脑,所以我在计算机上安装了GNUStep。从一开始,我就有以下问题。
代码:
// First program
#import <Foundation/Foundation.h>
int main (int argc, const char* argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init];
char nameC[50];
NSLog(@"ENter your name: ");
scanf("%c", &nameC);
NSLog(@"Name is: %c", nameC);
[pool drain];
return 0;
}
这就是我得到的:
试过unichar,同样的事情。有谁知道发生了什么?
谢谢!
答案 0 :(得分:0)
您可能会对nameC
是char
数组这一事实感到困惑,因此您在%c
和scanf
中使用NSLog
。正如Igor Tupitsyn评论的那样,你应该使用%s
- 但是在两个函数中都可以使用。
但请注意using scanf
is in most cases a bad idea;最好使用fgets
后跟sscanf
。