やあみんなだから私は私の学校の独立した研究としてObjectiveCを学ぼうとしています、そして私のプロジェクトの1つは、ユーザーが一連の数字と演算子を入力し、プログラムがそれを分解して実行する計算機プログラムを作成することです計算。今、私は入力を持っており、演算子を見つけてそれらをすべて配列に入れて、それらを並べ替えて演算の順序を見つけ、インデックスを使用してさまざまな用語を見つけられるようにしようとしています。ただし、配列を印刷して文字を保持しているかどうかを確認しようとすると、アップルのロゴや逆さまの疑問符などの奇妙な記号が出力されます。私は自分の問題の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;
}