C语言利用指针将某一字符串中的数字输出
时间: 2023-06-07 22:09:24 浏览: 51
您好,这是一个技术问题,我可以为您提供回答。可以使用C语言中的isdigit()函数判断一个字符是否是数字,在遍历字符串时,对于是数字的字符,可以利用指针输出它们的值。以下是参考代码:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char str[] = "Hello123World456";
char* p = str;
while (*p != '\0') {
if (isdigit(*p)) {
printf("%c", *p);
}
p++;
}
return 0;
}
```
输出结果为:
```
123456
```
相关问题
c语言利用指针数组输出字符串
下面是利用指针数组输出字符串的示例代码:
```c
#include <stdio.h>
int main() {
char *strArr[] = {"hello", "world", "!"}; // 定义指针数组并初始化
int i;
for (i = 0; i < 3; i++) {
printf("%s ", *(strArr + i)); // 输出指针数组中的字符串
}
return 0;
}
```
输出结果为:hello world !
--相关问题--:
1. C语言中如何定义字符串?
2. 如何在C语言中比较两个字符串是否相等?
3. C语言中如何
C语言利用指针连接两个字符串
可以使用指针来连接两个字符串,具体实现如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
char *ptr1, *ptr2;
printf("Enter string 1: ");
gets(str1);
printf("Enter string 2: ");
gets(str2);
ptr1 = str1 + strlen(str1);
ptr2 = str2;
while (*ptr2 != '\0') {
*ptr1 = *ptr2;
ptr1++;
ptr2++;
}
*ptr1 = '\0';
printf("Concatenated string is: %s\n", str1);
return 0;
}
```
这里定义了两个字符数组 `str1` 和 `str2`,以及两个字符指针 `ptr1` 和 `ptr2`。首先通过 `strlen` 函数获取 `str1` 的长度,并将 `ptr1` 指向 `str1` 的末尾,将 `ptr2` 指向 `str2` 的开头。
然后使用 `while` 循环将 `str2` 中的字符一个一个拷贝到 `str1` 的末尾,直到 `str2` 的结尾。最后在 `str1` 的末尾添加一个空字符 `\0`,表示字符串的结束。
最终输出拼接后的字符串即可。