嘿,伙计们,所以我正在尝试将 Objective c 作为我学校的一项独立学习来学习,而我的一个项目只是为了练习制作一个计算器程序,在该程序中,用户输入一串数字和运算符,程序将其分解并执行计算。现在我有输入,我试图让它找到运算符并将它们全部放在一个数组中,以便它可以对它们进行排序以查找操作顺序并使用索引来查找不同的术语;但是,当我尝试打印出数组以查看它是否包含字符时,它会输出一些奇怪的符号,例如苹果徽标或倒置的问号。我已经对我的问题进行了 SSCCE - 有人知道发生了什么吗?
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSString *calculation;
char str[50] = {0};
int count = 0;
NSLog(@"What would you like to calculate?");
scanf("%s", str);
calculation = [NSString stringWithUTF8String:str];
for (int i = 0; i < [calculation length]; i++) {
NSRange range = NSMakeRange (i, 1);
if([[calculation substringWithRange: range] isEqualToString: @"*"] ||
[[calculation substringWithRange: range] isEqualToString: @"/"])
count++;
}
char operators[count];
for (int i = 0; i < count; i++) {
for (int j = 0; j < [calculation length]; j++) {
NSRange range = NSMakeRange (j, 1);
NSString *s = [s initWithString:[calculation substringWithRange: range]];
if([s isEqualToString:@"*"]){
operators[i] = '*';
break;
}
if([s isEqualToString:@"/"]){
operators[i] = '/';
break;
}
}
NSLog(@"%c", operators[i]);
}
}
return 0;
}