Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        4年前关闭。
                                                                                            
                
        
我是初学者。我被要求编写一个模块,该模块根据以下规则转换用户输入:


如果字符是字母,则将其大写
如果字符是数字,则改为*
如果字符是\,则下一个字符将不受影响


程序必须继续调用scanf()来从用户读取字符,直到遇到EOF。注意:您应该在获得字符后立即打印它们。不要试图保存它们。

例:

input : Hi Mike your room number is \4\2\3 and the passcode is 312
output: HI MIKE YOUR ROOM NUMBER IS 423 AND THE PASSCODE is ***


现在我的问题是:由于您不知道接下来要输入哪种类型的字符,如何将其保存在诸如scanf(“%c”,&func)之类的变量中,将字符保存在func中?另外,我不允许使用toupper(),那么如何使字母大写呢?

任何帮助表示赞赏!谢谢

最佳答案

首先,您必须将其视为字符串(或单个字符)。然后,您可以通过比较ASCII码来检查某物是否为数字:

if(x >= '0' && x <= '9') // digit


其他条件类似。

关于c - 如何在不知道值类型的情况下使用scanf读取值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28757224/

10-11 22:05
查看更多