在C:我正在尝试从用户获取char scanf,当我运行它时程序不等待用户输入任何东西......
这是代码:
char ch;
printf("Enter one char");
scanf("%c", &ch);
printf("%c\n",ch);
Run Code Online (Sandbox Code Playgroud)
为什么不工作?
我一直在做一个相当简单的程序,将一串字符(假设输入数字)转换为整数.
我改完之后,我注意到一些非常奇特的"错误",我不能回答大多是因我有限的知识如何,scanf(),gets()和fgets()职能的工作.(尽管我读过很多文学作品.)
所以没有写太多文本,这里是程序的代码:
#include <stdio.h>
#define MAX 100
int CharToInt(const char *);
int main()
{
char str[MAX];
printf(" Enter some numbers (no spaces): ");
gets(str);
// fgets(str, sizeof(str), stdin);
// scanf("%s", str);
printf(" Entered number is: %d\n", CharToInt(str));
return 0;
}
int CharToInt(const char *s)
{
int i, result, temp;
result = 0;
i = 0;
while(*(s+i) != '\0')
{
temp = *(s+i) & 15;
result = (temp + result) * 10;
i++;
} …Run Code Online (Sandbox Code Playgroud)