Warnung: implizite Deklaration
Habe ich eine Zuordnung bin ich soll für meine informatik-CS50 MOOC. In es ich muss in der Zuordnung über die Harvard-website, aber es kann nicht sein, dass mein code, während es sagt: "Warnung: implizite Deklaration..."
Gibt es eine Möglichkeit zum abstellen?
Ich habe zwei Funktionen, die ich verwende, islower()
, und isupper()
, und Sie sind, was die Ursache für das auflegen.
Mein code scheint zu funktionieren, es kompiliert und alles. BTW wenn jemand will, um mir zu sagen, wie beschissen mein code ist, würde geschätzt werden. Ich bekomme nicht viel (oder alle) Kritik der Einnahme von Klassen über das web.
#include <stdio.h>
#include "cs50.h"
#include <stdio.h>
#include <string.h>
int main(int argc, string argv[])
{
int salt, cipherNum;
char cipher[40];
char letter;
////Greeting
printf("Please enter the text to ceez...\n");
////grab text
string txxt = GetString();
if (argc == 2) //must have command line argument
{
salt = atoi(argv[1]) % 26;
//printf("Salt: %d\n", salt);
}
else //yell at user if command line arg is not there
{
printf("Not cool! I need something to caesariphy...\n");
return 1;
}
//~
//This will iterate over each letter in the text
for (int i = 0, n = strlen(txxt); i < n; i++)
{
//int letter = 'A'; i.e. 65
//Must Preserve Case
//~ printf("%c---\n", txxt[i]);
//if lower start from 'a'or 97
if ( islower(txxt[i]) )
{
//~ printf("islower\n");
letter = txxt[i];
cipherNum = txxt[i];
//~ printf("%c is the letter\n", letter + salt);
//~ printf("%d is the cipherNumz\n", cipherNum);
if ((letter + salt) > 122)
{
//~ printf("letter + salt is > 90: %d \n", letter+salt);
cipherNum = (96 + (cipherNum + salt) % 122);
//~ printf("%c is the letters", cipherNum);
}
else
{
cipherNum = letter + salt;
}
cipher[i] = cipherNum ;
}
else if ( isupper(txxt[i]))
{
letter = txxt[i];
cipherNum = txxt[i];
//printf("%c is the letter\n", letter + salt);
//printf("%d is the cipherNumz\n", cipherNum);
if ((letter + salt) > 90)
{
//printf("letter + salt is > 90: %d \n", letter+salt);
cipherNum = (64 + (cipherNum + salt) % 90);
//printf("%c is the letters", cipherNum);
}
else
{
cipherNum = letter + salt;
}
//printf("%c\n", cipherNum);
cipher[i] = cipherNum ;
//printf("testing12\n");
}
else
{
cipher[i] = txxt[i];
}
//~
}
cipher[strlen(txxt) + 1] = '\0';
printf("%s\n", cipher);
return 0;
}
- Wo ist dein
Getstring
Funktion. - Ist das eine Art von Witz, den ich nicht bekommen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie mit der standard -
islower
undisalpha
, dann irgendwo an der Spitze, die Sie sehen solltenpassiert.
Es scheint, dass Ihre header-Dateien haben kein Prototyp deklariert für diese Funktionen, so dass die Funktion selbst ist implizit behandelt, wie der Funktionsprototyp. Wie bereits erwähnt, add benötigte Header.