我正在编写一个程序,通过字母表将某个字符串的字母旋转一定的方向。它需要初始输入一个整数,我将其称为N,然后使用该整数作为每个字符在整个字母表中移动的字母数。一个正整数移到字母表的右侧,一个负整数向左移动。例如,如果输入的是:如何在使用scanf和'%d'时区分int和char
-2 cdefg
输出将
abcde
为了做到这一点,我需要为了得到初始ñ常规字母字符和整数之间的不同。我已经尝试使用scanf()与%d和isalpha()函数,以及%c和isdigit()函数,但两者似乎对我都有障碍。为了澄清,我只是在最初的变量N有问题。我不知道如何区分一个整数之间的'm'输入。据我了解,它将存储'm'的ASCII值为N。
要读取整数,请使用“%d”。要读取字符,请使用“%c”。您必须事先决定是否期望阅读其中一个或另一个。相同的字符串“2”可以被解析为一个整数或一个字符,但是结果会非常不同。 – dxiv