Tag: 字符

没有强制转换的整数strcmp指针

我正在尝试比较两个字符并查看哪一个字典更长并按字母排序问题是我不确定如何比较单个字符我尝试用strcmp像 struct example { char code; } if (strcmp(i->code, j->code) < 0) return 1; 警告:传递âstrcmp的参数1使整数指针不带强制转换 警告:传递âstrcmp的参数2使整数指针不带强制转换 我知道strcmp用于字符串,我应该只是malloc并将char代码改为字符串,还是有另一种比较单个字符的方法?

字符数组后的奇怪字符

我是C的真正初学者,但我正在学习! 我之前偶然发现了这个问题,并决定询问原因是什么。 请解释一下你的答案,这样我才能学习。 我制作了一个程序,允许您输入5个字符,然后显示您编写的字符并还原它们,例如:“asdfg” – “gfdsa”。 奇怪的是,在输入的原始字符后显示一个奇怪的字符。 这是代码: char str[5]; char outcome[] = “OOOOO”; int i; int u; printf(“Enter five characters\n”); scanf(“%s”, str); for(i = 4, u = 0; i >=0; u++, i–){ outcome[i] = str[u]; } printf(“\nYou wrote: %s. The outcome is: %s.”, str , outcome); return 0; 如果我输入:“asdfg”它显示:“asdfg♣”,为什么? 谢谢你的时间,请解释你的答案:)

使用字符指针和字符数组之间的区别

基本问题。 char new_str[]=””; char * newstr; 如果我必须将一些数据连接到它或使用字符串函数如strcat / substr / strcpy,两者之间的区别是什么? 我知道我必须为char *方法分配内存(第2行)。 我不确定怎么样。 const char *和字符串文字是一样的吗? 我需要了解更多。 有人能指出一些不错的详尽内容/材料吗?

C – SizeOf指针

char c[] = {‘a’,’b’,’c’}; int* p = &c[0]; printf(“%i\n”, sizeof(*p)); //Prints out 4 printf(“%i\n”, sizeof(*c)); //Prints out 1 我对这部分代码非常困惑。 p和c都表示第0个索引处的数组c的地址。 但是为什么sizeof(* p)打印4? 不应该是1吗?

如何在C中检查“退格”字符

我想知道如何检查用户是否键入“退格”字符。 我在我的C程序中使用了getch() function ie “key = getch()” ,我想检查何时按下退格键。 这条线: if(key = ‘\b’) { …. 不起作用。

用C代码表示EOF?

换行符在C代码中用”\n”表示。 是否有文件结束(EOF)字符的等价物?

为什么我们需要在%c之前放置空间?

下面的代码在编译后给出了奇怪的o / p。 main() { char name[3]; float price[3]; int pages[3], i; printf ( “\nEnter names, prices and no. of pages of 3 books\n” ) ; for ( i = 0 ; i <= 2 ; i++ ) scanf ("%c %f %d", &name[i], &price[i], &pages[i] ); printf ( "\nAnd this is what you entered\n" ) […]

在C中将字符转换为二进制

我试图将一个字符转换为它的二进制表示(所以字符 – > ascii hex – >二进制)。 我知道这样做我需要转移和AND 。 但是,我的代码由于某种原因不起作用。 这就是我所拥有的。 *temp指向C字符串中的索引。 char c; int j; for (j = i-1; j >= ptrPos; j–) { char x = *temp; c = (x >> i) & 1; printf(“%d\n”, c); temp–; }