Tag: char

C重复字符,逐个字符

我试图找到彼此跟随的两个字符是否是相同的字符。 即如果我有这个输入“老女人”我想打印第二个D“复制”旁边。 这是我的代码,但我无法找到如何进行此编码。 这是我的代码: void main() { char ch,ch2; ch = getchar(); // getting the line of text int i = 1; ch2 = ch; while (ch != ‘\n’) // the loop will close if nothing entered { if (ch == ch2[&i]) { printf(“%c-duplicate”, ch); } i++; if (ch == ‘A’ || ch == ‘E’ […]

在C中为字符数组添加一个是什么?

我正在查看一些用于学习目的的代码。 我正在研究这部分代码。 // eg const unsigned char data={0x1,0x7C … } unsigned char buf[40]; memset(buf,0,40); buf[0] = 0x52; memcpy(buf+1, data, length); // What does buf+1 do in this situation? 在调用memcpy的最后一行,buf + 1做了什么? buf是一个字符数组,所以+1会对它做什么?

检查一个字符串是否只有C中的数字?

我正在尝试编写一个简单的代码来检查字符串中是否只有数字。 到目前为止,它不起作用,任何帮助将不胜感激。 #include #include #include int main() { char numbers[10]; int i, correctNum = 0; scanf(“%s”, numbers); for(i = 0 ; i <= numbers ; ++i) { if(isalpha(numbers[i])) { correctNum = 1; break; } } if(correctNum == 1) { printf("That number has a char in it. FIX IT.\n"); } else { printf("All numbers. Good.\n"); } […]

将arrayof字符转换为字符串

我用c语言编写代码。 char a[]={p,r,a,d,e,e,p} 我想在结尾添加’0/’以使其成为字符串。 或者有没有任何方法使其成为字符串而不是在结尾添加null? char *a=pradeep; 通过在末尾添加null将其转换为字符串

关于C中的指针

我开始阅读一些关于C中指针的文章,我有一个我不明白的例子。 以下代码的输出应该是什么.. ?? main() { char far *s1 ,*s2; printf(“%d,%d”,sizeof(s1),sizeof(s2)); } OUTPUT-4,2 根据我的说法,sizeof()函数返回的值应该是4,因为far指针有4个字节的地址。 但解决方案手册中的答案是4,2。 谁能解释一下? 任何人都可以解释> ???

c – 嵌入式系统中的Long Long到char转换function

我正在使用嵌入式系统,我需要实现一种方法来将long long转换为char。 问题是我不能在这个系统中使用sprintf来做到这一点,所以我正在寻找替代方法/function来实现这一点。 欢迎实施LongLongToCharfunction的建议。

单个字符上的Strlen函数行为

这是我的代码: void func(char c) { char * ptr = &c; size_t len = strlen(ptr); printf(“len – %d\n”, len); } len始终打印为1。 strlen(..)通过在结尾处找到空字符( \0 strlen(..)来确定char数组的长度。 这里ptr仅使用单个字符的地址( c )进行初始化。 c不包含任何空字符。 ptr如何获得长度?

为char数组分配内存以连接已知的文本和整数

我想连接一段文本,例如“答案是”带有符号整数,给出输出“数字是42”。 我知道这段文字有多长(14个字符),但我不知道该字符串表示的字符数是多少。 我假设最坏的情况,最大的有符号16位整数有5位数,如果它是负数,还有一个额外的,所以下面的代码是正确的方法吗? #include #include int main() { char *message; message = malloc(14*sizeof(char)+(sizeof(int)*5)+1); sprintf(message, “The answer is %d”, 42); puts(message); free(message); }

char *变量地址与char 变量地址

我将从以下两个声明和初始化中打印出地址和字符串: char * strPtr = (char *) “This is a string, made on the fly.”; char charArray [] = “Chars in a char array variable.”; 打印时,以下输出会出现变量charArray和strPtr的完全不同的地址。 问题是,“为什么?” 印刷: printf( “%10s%40s%20p\n”, “strPtr”, strPtr, &(*strPtr)); printf( “%10s%40s%20p\n”, “charArray”, charArray, charArray); 输出: strPtr This is a string, made on the fly. 0x400880 charArray Chars in a char array […]

使用%s打印字符串会打印错误数据

我正在使用fread函数从文件读取字符串然后打印字符串。 我将字符串定义为具有LONGNUM大小(预定义值)的字符数组。 我每次读1个字节1个字节的大小。 当打印字符串时:printf(“读取的字符串是:%s \ n”,缓冲区); 输出是:读取的字符串是b我没有得到它,为什么在stringi的最后得到这个值? 当打印字符串时:printf(“读取的字符串是:%c \ n”,缓冲区[0]); 我得到没有值的写输出。 请解释我原因。 代码是 #include #define LONGNUM 1 void main(int argc,char *argv[]) { FILE * src; FILE * dst; int num; char buffer[LONGNUM]; // argc is the number of the elements in argv // the first argv element is the name of the program if(argc < […]