例如,2345 是唯一数字,因为没有数字显示两次,但 3324 不是唯一数字,因为 3 出现两次。我尝试使用 % 但我作为(代码)显示但我没有得到数字我得到了数字,编辑:你不能使用字符串
number%10==number%100||number%10==number%1000||number%100==number%1000
Run Code Online (Sandbox Code Playgroud) 我不得不打印一个指针的值:
int *p = 0;
printf("%d", *p);
Run Code Online (Sandbox Code Playgroud)
上面的代码抛出异常。
所以我尝试了printf("%d", p),并且奏效了。
为什么它只在没有*?
代码应该从用户那里获取一个整数并将其转换为字符串,字符串中的第一个位置需要是数字的类型(低于零 - 高于零 + 和零,简单的没有)
#define GIVE_ME_THE_RIGHT_ARRAY_SIZE 2
#define MAX_INT_LENGTH_IN_C 10
char numberType(int number);
int main(void)
{
int number=0;
char string[MAX_INT_LENGTH_IN_C]={0};
char memoryString[MAX_INT_LENGTH_IN_C]={0};
printf("Enter num: ");
scanf("%d",&number);
if(number>0){
string[0]='+';
}
sprintf(memoryString,"%d",number);
for(int i=0;memoryString[i]!=0;i++ )
{
string[i+1]=memoryString[i];
}
printf("string: %s length: %d",string,strlen(string));
}
Run Code Online (Sandbox Code Playgroud)