Objective c 如何让scanf在if语句中工作目标c
如何在if语句中使scanf工作?在目标c中Objective c 如何让scanf在if语句中工作目标c,objective-c,if-statement,scanf,Objective C,If Statement,Scanf,如何在if语句中使scanf工作?在目标c中 Calculator *myCalculator = [ [ Calculator alloc ] init ] ; NSLog(@"What would you like to do: add , subtract, multiply , divide , set accmulator, or exit?") ; scanf("%c", &what[20] ) ; if( strcmp(&wh
Calculator *myCalculator = [ [ Calculator alloc ] init ] ;
NSLog(@"What would you like to do: add , subtract, multiply , divide , set accmulator, or exit?") ;
scanf("%c", &what[20] ) ;
if( strcmp(&what[20] , "subtract" ) == 0 )
{
NSLog(@"first number:" ) ;
scanf("%lg" , &value1) ;
NSLog(@"second number: ") ;
scanf("%lg" , &value2) ;
[myCalculator setAccmulator: value1] ;
[myCalculator subtract: value2] ;
NSLog(@"%lg" ,[myCalculator accmulator ]) ;
}
if( strcmp(&what[20] , "add" ) )
{
NSLog(@"first number:" ) ;
scanf("%lg" , &value1) ;
NSLog(@"second number: ") ;
scanf("%lg" , &value2) ;
[myCalculator setAccmulator: value1] ;
[myCalculator add: value2] ;
NSLog(@"%lg" ,[myCalculator accmulator ]) ;
}
if( strcmp(&what[20] , "multiply" ) == 0 )
{
NSLog(@"first number:" ) ;
scanf("%lg" , &value1) ;
NSLog(@"second number: ") ;
scanf("%lg" , &value2) ;
[myCalculator setAccmulator: value1] ;
[myCalculator multiply : value2 ] ;
NSLog(@"%lg", [myCalculator accmulator ]) ;
}
if( strcmp(&what[20] , "divide" ) == 0 ) {
NSLog(@"first number:" ) ;
scanf("%lg" , &value1) ;
NSLog(@"second number: ") ;
scanf("%lg" , &value2) ;
[myCalculator setAccmulator: value1] ;
[myCalculator divide: value2] ;
NSLog(@"%lg", [myCalculator accmulator ]) ;
}
if( strcmp(&what[20] , "set accmulator" ) == 0 ) {
NSLog(@"enter number you want to set" ) ;
scanf("%lg" , &value1) ;
[myCalculator setAccmulator: value1 ] ;
NSLog(@"%lg" , [myCalculator accmulator] ) ;
}
else
return 0 ;
}
return 0 ;
}
而且输出甚至没有给您为scanf键入任何内容的机会,我已尝试删除{},但没有任何区别。您的问题在于:
(strcmp(&what[20],“subtract”)
。这不是方法结果,因此if
语句不知道这是什么,因此它不知道如何处理==0
试着这样做:
Calculator *myCalculator = [ [ Calculator alloc ] init ] ;
scanf("%c", &what[20] ) ;
NSString* userInput = [[NSString alloc] initWithUTF8String: &what[20]];
//change "add" to check another NSString
//this way tou don't have to worry wether it's uppercase or lowercase
if ([userInput caseInsensitiveCompare:@"subtract"]==NSOrderedSame)
{
//check if negative then do whatever
}
NB:
==比较字符串的引用(地址),而不是字符串的值