从键盘中输入四个字符串(每个字符串不超过20个字符),如果一个字符串中的每个字符都是数字0-9,则将每个字符串转换为整形数字,并加1输出,否则输出错误信息,使用指针访问数组,不能使用下标。
时间: 2023-05-30 11:02:48 浏览: 109
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main()
{
char str[4][21]; // 4个字符串,每个字符串最长20个字符
int num[4]; // 存储转换后的数字
char *p_str[4]; // 存储指向字符串的指针
int i;
// 从键盘中输入4个字符串
for (i = 0; i < 4; i++) {
printf("请输入第%d个字符串:", i+1);
scanf("%s", str[i]);
}
// 判断每个字符串是否都是数字
for (i = 0; i < 4; i++) {
int j;
for (j = 0; str[i][j] != '\0'; j++) {
if (!isdigit(str[i][j])) {
printf("第%d个字符串不是数字!\n", i+1);
return 1; // 直接退出程序
}
}
}
// 转换字符串为整形数字并加1
for (i = 0; i < 4; i++) {
num[i] = atoi(str[i]) + 1;
}
// 将指针指向每个字符串
for (i = 0; i < 4; i++) {
p_str[i] = str[i];
}
// 输出转换后的数字
for (i = 0; i < 4; i++) {
printf("第%d个字符串转换后的数字为:%d\n", i+1, num[i]);
}
return 0;
}
```
阅读全文