If you are good at Visual Basic or C#, then you can go on your way to develop Windows Phone apps. For iOS apps, best language to know is Objective C, although some knowledge of C and C++ would help as well. For Android development, knowing Java would go help a lot. Research each and see what you would be interested in, possible any or a combination if you are good at developing for multiple platforms.
I personally prefer android ,but i have to mention that I know more about Java in compare to C++ ,but in term of functionality and object oriented programing I liked android development more than windows applications.
Microsoft provides the best development tools bar none. You can write C++ apps for WP8 now, and the bonus is your code will port over largely unmodified for Windows 8 Store apps, opening yourself up to more users (ie millions). Since MS is controlling chassis specs to a large extent, your target devices are much fewer to plan for. You don't have to target just "popular" devices, you can target usually all devices of a certain generation.
Microsoft .Net is the better option. Smart Device Extensions (SDE) for Microsoft® Visual Studio® .NET allow you to leverage all of your .NET programming skills to build Microsoft Windows® applications for smart devices that support the Microsoft .NET Compact Framework. Creating applications using SDE from C# is so straightforward that you might be tempted to just jump right in by creating a new SDE project, dropping some controls on a form, and writing some code. You can select either vb.net or C# from .Net platform.