写一个输入一个除空格以外的可见字符(保证正在函数scanf中可使用格式说明符%c读入输出其ASCLL码)
时间: 2024-02-13 18:59:40 浏览: 33
你可以尝试以下代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char c;
do {
printf("Please enter a visible character except for space: ");
scanf(" %c", &c);
} while (isspace(c) || c == ' '); // 判断输入是否为空格
printf("The ASCII code for '%c' is %d", c, c);
return 0;
}
```
这段代码会循环输入字符,直到输入的字符不是空格或空格符号,然后输出该字符的 ASCII 码。注意在使用 scanf 时,输入格式说明符前面需要加一个空格,以消耗掉缓冲区中的换行符等字符。
相关问题
输入一个除空格以外的可见字符(保证在函数scanf中可使用格式说明符%c读入),输出其ASCII码。c++实现
输入:一个除空格以外的可见字符
输出:该字符的ascii码
示例代码:
```c
#include <stdio.h>
int main() {
char c;
scanf("%c", &c);
printf("ASCII code of %c is %d\n", c, c);
return 0;
}
```
注意:scanf中使用%c来读入字符类型,printf中使用%c来输出字符。
使用c语言写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。
好的,以下是代码实现:
```c
#include <stdio.h>
int string_length(char str[]) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = string_length(str);
printf("字符串的长度为:%d\n", len);
return 0;
}
```
代码运行结果:
```
请输入一个字符串:hello world
字符串的长度为:11
```
解释一下代码:
- `string_length` 函数接收一个字符数组 `str`,并通过循环遍历数组中每个元素,直到遇到字符串结尾的标记符 `\0`,统计字符串的长度并返回。
- `main` 函数中先声明一个字符数组 `str`,并通过 `scanf` 函数从控制台读取一个字符串。然后调用 `string_length` 函数计算字符串长度,并输出结果。